ユーザーからの入力を待機する 1 つのスレッドでマルチスレッド プログラムをデバッグしようとしています。他のスレッドの関数にブレークポイントを設定してアプリを実行すると、同じブレークポイントに切り替わり、すぐに入力スレッドに切り替わるため、アプリはユーザーからの入力を待機し、gdb でコマンドを実行できません。同じ関数を呼び出す前に、すべてのスタックを確認する必要があります。bt コマンドが作れない
1328 次
2 に答える
1
あなたthread apply all bt
の質問に答えますか?
于 2012-11-05T16:13:56.277 に答える
1
コマンドをブレークポイントに追加できます。マニュアルを参照してください。このようなもの:
(gdb) break some_func
Breakpoint 2 at ...
(gdb) commands 2
Type commands for breakpoint(s) 2, one per line.
End with a line saying just "end".
>thread apply all bt full
>end
(gdb) cont
Continuing.
Breakpoint 2, ...
Thread 1 (Thread 0x....
...
編集 0:
ああ、私はあなたがgdb
これをあなたに印刷していると思います:
---Type <return> to continue, or q <return> to quit---
実行する前に次のことを行ってください(これをファイルrun
に貼り付けることもできます)。.gdbinit
(gdb) set pagination off
于 2012-11-05T16:26:50.290 に答える