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:


댓글 달기