1

私のプログラムは無限ループを通過しており、その理由を突き止めようとしています。(それは私が求めているものではありません)。私は通常、何が問題なのかを調べるために GDB にアクセスしますが、文字通りプログラムの開始時に、このメッセージでクラッシュし続けます。

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

#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
}

関数プロトタイプがあることに注意してください。ご協力いただきありがとうございます。

編集:ところで、私は引数を送信していません。リダイレクトを使用して、プログラムが無限ループを実行する原因を突き止めています。

4

1 に答える 1

0

このメッセージでクラッシュし続けます。

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

お使いのバージョンの glibc には、この (最近修正された) バグがあります: http://sourceware.org/bugzilla/show_bug.cgi?id=13786

(注意: sourceware.org は今週、ハードウェアのアップグレードのためにダウンしています。「ルートがない」場合は、後でもう一度試してください。)

于 2013-03-19T14:15:17.503 に答える