0

LLDB を使用して大規模なプログラムをデバッグしていboolますが、どこでも使用され、一般に extern として参照される変数が 1 つあります。しばらくデバッグしてきましたが、ブレークポイントをどこに設定しても、値は常にtrueです。この値が設定されている場所を見つけたいと思います-コードを検索して、その変数の割り当てごとにブレークポイントを設定しようとしましたが、それらのどれもトリガーされないようで、後のブレークポイントでその値は常にtrueです。変数への最初の書き込みを特定する方法はありますか?

4

1 に答える 1

1

Flash Sheridan があなたの質問へのコメントで述べたように、ここでウォッチポイントを使用したいと考えています。アプリの早い段階でブレークポイントを設定し (例: NSApplicationMain)、(おそらくグローバルな) bool 変数にウォッチポイントを設定します。

(lldb) watch set variable myvar

また

(lldb) w s v myvar

これにより、変更されるたびにプログラムの実行が停止するはずmyvarです。

于 2012-12-13T01:02:52.587 に答える