GDB에서 info f 명령어의 오류에 대해서 궁금합니다.
글쓴이: diki / 작성시간: 월, 2008/02/25 - 2:05오후
unix에서 사용하는 유틸리티를 배워보기 위해서,
"유닉스·리눅스 프로그래밍 필수 유틸리티"라는 책을 보고있는 중입니다.
다름이 아니고, gdb사용 명령어 중에서, "info f 변수" 라는 명령어가 있는데,
"info f 변수"를 실행하면, gdb에서 오류 메시지를 띄웁니다.
사용 환경은, debian linux 2.6.18-5버전의 커널을 사용중이고,
GDB는 6.4.90 버전을 사용중입니다.
소스 코드는 아래와 같고,
#include <stdio.h> //void lovecall(); char *getname() { char name[128]; printf("Input name : "); scanf("%s", name); return name; } int main() { char *str; str = getname(); printf("I like you.\n"); printf("%s\n", str); //lovecall(); return 0; }
gdb에서 하는 오류 메시지는 아래와 같습니다.
(gdb) <span>info f name</span> Stack frame at 0xbf98d370: eip = 0x0; saved eip /build/buildd/gdb-6.4.90.dfsg/gdb/dwarf2-frame.c:739: internal-error: dwarf2_frame_cache: Assertion `fde != NULL' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) n /build/buildd/gdb-6.4.90.dfsg/gdb/dwarf2-frame.c:739: internal-error: dwarf2_frame_cache: Assertion `fde != NULL' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Create a core file of GDB? (y or n) n
혹시 제가 잘못 사용하는 것인지,
혹은 info f 를 사용하는 위치가 따로 있는지 고수님들의 조언 부탁드립니다.
[+] debian 2.6.8 커널에 gdb 6.3에서도 같은 오류 메시지를 출력하고,
[+] solaris 5.8에 gdb 6.2에서는 제대로 동작하는 것 같네요.
Forums:
댓글 달기