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的等效命令是什么?