C++ 我可以从地址读/写gdb中断吗?

C++ 我可以从地址读/写gdb中断吗?,c++,c,debugging,gdb,C++,C,Debugging,Gdb,可能重复: 我在内存中有一个特定的位置正在被破坏,我希望能够准确地看到东西何时写入该位置。有没有什么方法可以让gdb在访问特定地址时中断 是。 使用观察点: 观察-仅在写入时中断(且仅在值更改时中断) rwatch-读取时中断,并且 唤醒-读/写时中断 来自一些互联网来源的更详细摘要: 观看 监视是gdb设置数据断点的方法,如果指定位置的内存发生变化,该断点将停止程序的执行 watch my_variable watch *0x12345678 where 0x12345678 is a va

可能重复:

我在内存中有一个特定的位置正在被破坏,我希望能够准确地看到东西何时写入该位置。有没有什么方法可以让gdb在访问特定地址时中断

是。
使用观察点:
观察-仅在写入时中断(且仅在值更改时中断)
rwatch-读取时中断,并且
唤醒-读/写时中断

来自一些互联网来源的更详细摘要:

观看
监视是gdb设置数据断点的方法,如果指定位置的内存发生变化,该断点将停止程序的执行

watch my_variable
watch *0x12345678
where 0x12345678 is a valid address.
rwatch iWasAccessed
rwatch *0x12345678
where 0x12345678 is a valid address.
可以在变量名或任何地址位置上设置监视断点

watch my_variable
watch *0x12345678
where 0x12345678 is a valid address.
rwatch iWasAccessed
rwatch *0x12345678
where 0x12345678 is a valid address.
rwatch
当程序试图从变量或内存位置读取时,rwatch(读取监视)断点会中断代码的执行

watch my_variable
watch *0x12345678
where 0x12345678 is a valid address.
rwatch iWasAccessed
rwatch *0x12345678
where 0x12345678 is a valid address.
唤醒
如果变量或内存位置被写入或读取,则awatch或access监视中断程序的执行。总之,AWATCHE是手表和RWATCHE的总称。创建一个断点比创建两个单独的断点更方便

awatch *0x12345678
where 0x12345678 is a valid address.

不知何故,您正在编写
×
来代替
x
。@Alok在使用
awatch
时,由于读或写而导致的中断之间有什么区别?有什么方法可以查看大内存区域(几个字宽)?@Alok lldb中awatch或rwatch的等效命令是什么?