将来の参照のための次のレコードの一般的な文の検索ので、マルチスレッドデバッグ用のGDBにインターンシッププロジェクトの必要性、。
ネットワークからの議論の内容。
よく使用するコマンド:
*あなたが直接、省略文を入力することができ、あなたはまた、完全な文を入力することができます。
1. b main.cpp:15
ライン15 main.cppに中断点において。そのような私は、条件が満たされた場合にのみ、ブレーク力を2 ==場合などの条件を続けることができます。
2. r [option]
速記を実行しています。ノーブレーク後に存在する場合、プログラムが終了するまで実行され、実行し続けます。
3. n
次の行を実行し、次の省略形です。
図4は、s
次に実行すべき関数の内部に、ステップの略です。シングルステップ実行、プログラムの開始は、最初の行で停止します。6. 設定した変数の値は、変数aは、ここで1に設定されています。7. 関数呼び出しスタックフレームとスタックを確認してください。8. 速記は、引き続き実行し続けています。図8は、速記印刷、変数の値を出力し、可変印刷の値です。9. のような、情報を閲覧するためのビューのブレークポイントの条件。10 、デルDが簡略で、ブレークポイントを削除することができ、ブレークポイントは、前のコマンドを介して利用可能な入札数です。印刷11. dispalyこの場合、各ステップは、変数を印刷します行います。12. undispaly変数を印刷キャンセル、逆の操作でステップを行いました。ここでの注意は、非変数名の番号でした。インフォメーションディスプレイを通して見るする必要はありません。13 GDBを終了し、終了して簡略化したものです。start
set var a=1
bt
c
p a
info
info break
d bID
q
マルチスレッドのコマンド:
1. info threads
現在のプロセスのスレッドを確認してください。gdbが「*」が先行し、各スレッドのIDを割り当てます現在実行中のスレッドを示します。
2. thread ID
スレッドのデバッグを切り替えます。
6. b main.c:10 thread all
すべてのスレッドの場合は、ポイントを破ります。
7. set scheduler-locking off|on|step
8. thread apply ID1 ID2 command
IDL ID2を実行します。
9. thread apply all command
すべてのスレッド。
マクロ定義のデバッグ:
マクロがプリコンパイルされているので、デフォルトでは印刷できません。マクロ定義をデバッグするためには、プログラムをコンパイルするときにパラメータを追加する必要があります-ggdb3