크래쉬가 나고 segmentation fault (core dumped) 라는 메세지가 뜨는데..당췌 디버깅을 어떻게 해야하는지...로그파일로는 한계가 있다.
검색을 하다보니 core 파일을 생성하여 gdb로 디버깅이 가능하다 ㅎ 이런~ 좋은 방법이~
하지만 크래쉬가 났는데 core dumped라고 하는데 core파일이 없다...
코어파일 사이즈가 0인지 확인한다.(ulimit -a)
아래와 같이 코어 파일 사이즈를 변경합니다.
이제 크러쉬후에 core.xxxx라는 코어 파일이 생성되었음을 볼수 있습니다.
자 이제 core파일을 gdb로 분석해봅시다.
WinDbg와 분석 포인트는 유사해서 어렵진 않네요 깊이가 문제겠지만 ㅎ
#gdb 실행프로세스 코어파일 ->코어파일 분석시작
#bt -> call stack
#f n -> n frame으로 이동
#list -> 해당 스택의 소스 보여줌
#info locals -> 로컬 변수값 보여줌
#p val -> val 변수 값 보여줌
#x address -> 해당 주소의 값 보여줌
댓글 없음:
댓글 쓰기