4

デバッグを簡素化するために gdb コマンド スクリプトを作成しています。私が抱えている問題の 1 つは、ブレークポイントを設定していて、後でそれを無効にし、別のブレークポイントがヒットした後にのみ有効にしたいということです。

やりたいことはこれ

$my_break_number = break SomeFile.cpp:231
disable $my_break_number

残念ながら、gdb はこのようには機能しません。マニュアルを読みましたが、これを行う方法に関する情報が見つかりません。うまくいけば、私が見逃した情報がいくつかあります。

4

3 に答える 3

12

gdb は、最後に設定されたブレークポイント番号で便利な変数 $bpnum を自動的に設定します。

ブレークポイントを設定して無効にした後、それを使用できる可能性があります (ブレークポイントがあいまいで複数のブレークポイントを作成する場合はテストしていませんが、機能し、作成されたすべてのブレークポイントの場所を無効にすると思います)。

参照: http://sourceware.org/gdb/current/onlinedocs/gdb/Set-Breaks.html#Set-Breaks

コマンドからブレークポイント番号を使用する必要がある場合、それはおそらくあなたが望むものではありませんが、指定された質問に対しては機能します。

于 2012-06-13T16:55:28.553 に答える
4

Python GDB scriptingを使用することをお勧めします。これにより、「通常の」コマンド スクリプトで可能なものよりもはるかに優れたプログラムによるブレークポイントへのアクセスが可能になります。

于 2012-06-14T05:32:19.450 に答える