3
GDBでwatch i
、i
が変更されたときにいつでも破損する可能性があります。問題は、名前がi
である複数の関数があるため、GDBがそれらの関数のすべてを破壊するということです。GDB:指定されたスコープ内の変数を見る
i
が変更されたときに中断することはできますか?
GDBでwatch i
、i
が変更されたときにいつでも破損する可能性があります。問題は、名前がi
である複数の関数があるため、GDBがそれらの関数のすべてを破壊するということです。GDB:指定されたスコープ内の変数を見る
i
が変更されたときに中断することはできますか?
私はあなたがグローバル変数を見あり、したがって、それは、この変数は論理と期待される動作あるを変更されたすべての関数で停止しますね。 i
が変更されたときに、指定された関数内でのみ中断したい場合は、i
のブレークポイントを設定しないでください。代わりに、目的の関数のブレークポイントを設定します。このブレークポイントがヒットした場合、今あなたは
私はと推測(可能な再帰を無視など)i
が所望の機能で変更されたときに、次のブレークポイントにヒットされることを確実に知るようにi
のための時計を設定しますは、その特定の関数のスコープ内にあるまで、ローカル変数にブレークポイントを設定できないため、同じ名前を持つすべての関数内でローカル変数を監視していない可能性があります。
GDBとの対話の記録をお送りください。私が関数の中で 'watch i 'を実行すると、GDBは(正しく)その関数から戻るとすぐにウォッチポイントを削除します。 –
[ローカルスコープの変数で永続および条件付きウォッチポイントを設定するにはどうすればよいですか?](http://stackoverflow.com/questions/1354637/how-do-i-set-persistent-and-conditional-watchpoints-on-局所スコープ変数) –