[완료]아주 어이없는 질문입니다만, gdb로 코어파일을 열어볼때 심볼들이 전혀 보이질 않습니다.

bejoy4him의 이미지

현재 RHEL4.2(모든 패키지 설치)에서 작업을 하고 있습니다.

컴파일한 녀석을 실행시키다가 세그먼트 폴트로 죽어버리길레, 코어덤프 시키고 GDB로 보자.
라고 생각한 후, 코어파일을 열어보니 심볼이 보이질 않더군요...
음.. "-g" 옵션이 빠졌나보군... 하며 Makefile을 들여다 보았는데... -g 옵션이 있었습니다.

중간 어딘가에서 -g옵션을 빼먹었나 생각하고 샘플 코드를 짜보았는데 역시나 심볼이 보이질 않습니다. 뭐가 잘못된 거죠?
내가 보기엔 잘못된 곳이 없는거 같은데..
뭔가에 홀린듯도 하고...

가장 기본적인 무언가를 빼먹고 한것 같기는 한데. 잘 모르겠습니다.

int main(int argc,char ** argv)
{
        int i=0;
 
        printf("Hello !\n");
        i /=i;  //당연히 여기서 죽겠죠 ^^
 
        return 0;
}

admin$ gcc -g test.c -o a.out

admin$ ./a.out
... core dumped...

admin$ gdb --core core.25974
(gdb) bt
#0 0x080483aa in ?? ()
#1 0x002ffff4 in ?? ()
#2 0x002ffff4 in ?? ()
#3 0x080494ac in ?? ()
#4 0x002ffff4 in ?? ()
#5 0xbff83304 in ?? ()
#6 0x00000000 in ?? ()

peccavi의 이미지

admin$ gdb --core core.25974 a.out

a.out을 붙이고 해보세요

----
jai guru deva om...

----
jai guru deva om...

bejoy4him의 이미지


역시나 가장 기본적인 부분에서 이런 실수를 했군요...

예전에 할 땐 분명히 되었는데, 왜 안될까 고민 많이 했습니다. ^^a
리눅스 상에서 디버깅을 별로 하지 않다보니 이런 일이 생기는 군요... 다시한번 감사합니다.