2013-03-18 2 views
1

내 프로그램이 무한 루프를 겪고 있으며 그 이유를 파악하려고합니다. (그건 내가 묻고있는 것이 아니다.) 나는 대체로 GDB에 가서 무엇이 잘못 되었는지를 알아 내기 위해 글자 그대로 프로그램의 시작 부분에서이 메시지와 충돌을 계속합니다.GDB가 충돌을 계속합니다

__strcmp_ia32()

#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 

//Prototypes and linked lists here 

int debugMode(int argc, char** argv) 
{ 
    if(strcmp(argv[argc-1], "-d") == 0) // GDB stops right here. 
     return 1; 

    else 
     return 0; 
} 

int main(int argc, char** argv) 
{ 
    int debug, integer; 
    char choice; 
    node *head = NULL; 
    node *current; 

    debug = debugMode(argc, argv); 
    // stuff here 
} 

../sysdeps/i386/i686/multiarch/../strcmp.S:34

에서하는 것은 내가 함수 프로토 타입을 할 유의하십시오. 당신의 도움을 주셔서 감사합니다.

편집 : btw 어떤 인수도 보내지 않을 것입니다. 리다이렉션을 사용하여 내 프로그램이 무한 루프를 수행하는 원인을 찾아 냈습니다.

+0

나는 인수를 보내지 않았습니다 ... 분명히하지 못해 죄송합니다. 내 게시물을 편집했습니다. 어쨌든 나는 뭔가가 내 gdb에 문제가 있다고 생각한다. 나는 그 부분을 주석 처리했으며 이제는 무작위로 다른 부분과 충돌하고있다. 그것은 전혀 충돌하지 않아야합니다 : \. – juice

+0

-g 플래그를 컴파일 했습니까? –

+0

그래 내가 그랬니? – juice

답변

0

이이 메시지와 충돌합니다.

__strcmp_ia32() at ../sysdeps/i386/i686/multiarch/../strcmp.S:34 

의 glibc의 버전이이 (최근 고정) 버그가 : http://sourceware.org/bugzilla/show_bug.cgi?id=13786

(참고 : 당신이 그것을에 "어떤 경로"를 얻을 수없는 경우 sourceware.org는 하드웨어 업그레이드를 다운 이번 주이다 , 나중에 다시 시도하십시오.)

관련 문제