gdb 사용법 문의

kicom95의 이미지

부끄러운 이야기 지만

귀차니즘에 의거하여 printf 으로 디버그를 하다....

이제는 gdb 를 사용하려구 합니다...

core 파일 땜시....

core 파일 디버그 할때 bt 말고

또 쓸만한 명령어 있으면 몇개 추천 해주시면 감사하겠습니다.

bt 로도 최종 함수 호출 지점은 나오는데

외부 라이브러리 호출치 인자가 뭐로 들어 갔는지는 안나오네요

이거 알아 볼수 있는 방법 없는지요 ?

Fe.head의 이미지

bt 명령치면

(gdb) bt
#0 ......printf() from /lib../libc.so.6
#1 .....main() from at main.c

같이 나오는데
이때 printf를 호출한 함수로 가고 싶을때는

(gdb) frame 1         # 위의 #1에서 나오는 main함수
33                printf("Hello World%d\n", array[100]);

(gdb) p array[100]

하면 되겠죠.

유닉스 * 리눅스 프로그래밍 필수 유틸리티(한빛) 276page에 나오는 내용을 도용하였습니다. -_-; (이책 추천합니다.)

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"