core 파일 남기기
ulimit -c unlimited
----------------
Linux는 thread를 쓰게 되면
main thread와 manager thread 그 외 자식 thread들이 생긴다.
SIGSEGV를 받으면 일단 main과 자신을 제외한 thread를 죽인다.
자신의 thread를 fork하고 이 때 생긴 자식 process는 abort() 시키고 부모 process는 자식이 죽기를 기다렸다가 종료한다.
linux는 한 thread가 fork를 하면 자기 thread만 자식 process에 복사되고 나머지 thread의 내용은 무시된다.
이렇게 죽으면 깨끗하게 덤프된 core파일을 얻을 수 있고
gdb로 디버깅하면 된다.
댓글 없음:
댓글 쓰기