2016-06-22 8 views
3

スレッドごとにgdbブレークポイントを無効にすることはできますか?gdb特定のスレッドでブレークポイントを無効にする

バックグラウンドワーカースレッドで100ミリ秒ごとにトリガするブレークポイントがあります。しかし、私は他のスレッドで同じ場所をデバッグする必要があります。したがって、バックグラウンドワーカースレッドでのみブレークポイントを無効にすることはクールです。出来ますか?

私はスレッドの番号を知っているときに、このブレークポイントに特別に細工された条件を追加することによってスレッドを無効にすることはできますか?

答えて

3

Gdbは2つの便利な変数、$_thread$_gthread(後者はかなり新しい)を提供しています。これは現在のスレッドを参照するための条件で使用できます。

ワーカースレッドが開始されたら、info threadを使用してその番号を見つけることができます。次に、ブレークポイントを変更できます(この例ではブレークポイント2とします)。

(gdb) cond 2 $_thread != 57 
+0

ありがとうございます。これは私が探していたものです。 –

関連する問題