부끄러운 이야기 지만
귀차니즘에 의거하여 printf 으로 디버그를 하다....
이제는 gdb 를 사용하려구 합니다...
core 파일 땜시....
core 파일 디버그 할때 bt 말고
또 쓸만한 명령어 있으면 몇개 추천 해주시면 감사하겠습니다.
bt 로도 최종 함수 호출 지점은 나오는데
외부 라이브러리 호출치 인자가 뭐로 들어 갔는지는 안나오네요
이거 알아 볼수 있는 방법 없는지요 ?
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점, 고작 부활동 "만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
bt 명령치면 [code:1](gdb) bt#0
bt 명령치면
같이 나오는데
이때 printf를 호출한 함수로 가고 싶을때는
하면 되겠죠.
유닉스 * 리눅스 프로그래밍 필수 유틸리티(한빛) 276page에 나오는 내용을 도용하였습니다. -_-; (이책 추천합니다.)
고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"
댓글 달기