-
반응형
지난번 포스팅에서 core파일과 gdb를 가지고 디버깅하는 방법에 대하여 이야기 했었다.
2011/11/16 - [리눅스(Linux)/개발(Developemnt)] - [gdb] core 파일을 통해 디버깅하자.
오늘도 비슷한 내용인데, 멀티 thread를 사용하는 프로그램일 때 확인할 수 있는 방안에 대해서 이야기 하려 한다.
기본적으로 gdb로 core파일을 불러드리면 메인 thread의 내용만 나옵니다. 간단한 명령을 통해서 thread를 변경하고 정보를 확인할 수 있다.
(gdb) info threads
위의 명령으로 해당 프로그램이 몇개의 스레드가 존재하고 있는지 번호로 관리 되어지고 있는 스레드 정보가 나온다. 1번이 메인 thread 이다.
(gdb) threads 번호
이렇게 thread를 변경할 수 있다. 변경 후 bt(backtrace)와 같은 명령어로 해당 스레드는 프로그램이 죽는 시점에 어떤 로직을 처리하고 있었는지 확인할 수 있다.
아주 간단하지만 이런 디버깅 도구 사용법을 모르면, 프로그램의 원인을 찾는데 고생하게 된다.
반응형