0

これは、cgdb でデバッグしようとしている非常に単純なプログラムです。問題は、「scanf」行に到達すると入力を求めるプロンプトが表示されることですが、入力後に Enter キーを押すと (下の例では 2)、無限ループに入るようです。ただし、gdbでは正常に動作します。

#include <cstdio>
using namespace std;

int main()
{
    int n;
    scanf("%d", &n);
    printf("%d\n", n);
    return 0;
}

ターミナルでの実行トレースは次のとおりです。

「apropos word」と入力して、「単語」に関連するコマンドを検索します... テストからシンボルを読み取り中...完了。

(gdb) 開始

0x400585 の一時的なブレークポイント 1: ファイル test.cpp、7 行目。 プログラムの開始: /home/Alex/Desktop/test

test.cpp:7 の一時的なブレークポイント 1、main ()

(gdb) 次へ

2 (これは私の入力です)

ここから無限ループが始まります。

4

1 に答える 1