可能性の重複:
Can I set a breakpoint on 'memory access' in GDB?アドレスからの読み取り/書き込みにgdbブレークを設定できますか?
は私が壊れてきているメモリ内の特定の場所を持っている、と私は物事がその場所への書き込み時に正確に確認できるようにしたいと思います。特定のアドレスへのメモリアクセスをgdbで中断させる方法はありますか?
可能性の重複:
Can I set a breakpoint on 'memory access' in GDB?アドレスからの読み取り/書き込みにgdbブレークを設定できますか?
は私が壊れてきているメモリ内の特定の場所を持っている、と私は物事がその場所への書き込み時に正確に確認できるようにしたいと思います。特定のアドレスへのメモリアクセスをgdbで中断させる方法はありますか?
はい。
ウォッチ使用:
ウォッチ - のみ書き込みに壊れる(とのみ値が変更された場合)
rwatch - 読み取りの休憩、および
awatch - 読み取り/書き込みに休憩を。
いくつかのインターネットソースからのより詳細な簡単に:
時計を見ては、指定した場所にあるメモリが変更された場合、プログラムの実行を停止するデータブレークポイントを設定するGDBの方法です。
watch breakpointは、変数名または任意のアドレスの場所に設定できます。
watch my_variable
watch *0x12345678
where 0x12345678 is a valid address.
rwatch
rwatchプログラム変数または記憶場所から読み取ろうとするとき(読み取り時計)ブレークポイントは、コードの実行を破ります。変数やメモリの場所に書き込みやから読み込まれた場合
rwatch iWasAccessed
rwatch *0x12345678
where 0x12345678 is a valid address.
awatch
awatchまたはアクセスの時計は、プログラムの実行を中断します。要約すると、腕時計は時計とrwatchesはすべて1つです。 2つの別々のブレークポイントよりも1つのブレークポイントを作成する便利な方法です。
awatch *0x12345678
where 0x12345678 is a valid address.
どういうわけか、あなたは、読み取りや書き込みによるブレークの間に 'awatch'を使用するときに異なる方法 'X' ... –
@Alokの代わりに' '×を書いていますか? –
大きな領域(幅が数ワード)を見る方法はありますか? –