我可以在读/写地址时使用gdb中断吗
Can I have gdb break on read/write from an address?
可能重复:
我可以在';内存访问';在GDB?
我在内存中有一个特定的位置正在被破坏,我希望能够准确地看到东西何时写入该位置。有没有什么方法可以让gdb中断对该特定地址的内存访问?
是
使用监视点:
观察-仅在写入时中断(并且仅当值发生更改时)
rwatch-读取时中断,并且
awatch-读/写时中断。
来自一些互联网来源的更详细的简报:
观看
watch是gdb设置数据断点的方法,如果指定位置的内存发生变化,数据断点将停止程序的执行。
监视断点可以在变量名或任何地址位置上设置。
watch my_variable
watch *0x12345678
where 0x12345678 is a valid address.
rwatch
当程序试图从变量或内存位置读取时,rwatch(readwatch)断点会中断代码的执行。
rwatch iWasAccessed
rwatch *0x12345678
where 0x12345678 is a valid address.
awatch
如果变量或内存位置被写入或读取,awatch或access监视会中断程序的执行。总之,awatches就是手表和rwatches合为一体。这是一种创建一个断点而不是两个单独断点的方便方法。
awatch *0x12345678
where 0x12345678 is a valid address.
相关文章:
- 当在带有Eigen的C++中使用GDB时,我如何才能看到更多的大矩阵
- 如何找出GDB的SIGTRAP核心转储的根本原因
- 如何使用gdb制作一个可以漂亮地打印每个对象的C++函数
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 附加到 gdb 会中断并且不会继续该过程
- 进入子进程时 GDB 中断
- 如何在运行 cpp 应用程序的 GUI 时通过 GDB 设置中断
- gdb:当特定对象发生更改时中断
- 如果在例程中,Gdb 会在错误时中断
- GDB/LLDB 调用一个函数并中断它
- 从特定函数调用时引发异常时GDB中断
- 当使用多个源文件时,GDB不会中断某些代码行
- gdb可以被设置为在任何投掷时中断吗
- 如何让 gdb 从 icc '-check-pointers=write' 中断"CHKP: Bounds check error"
- 对象函数调用时的GDB中断
- 在GDB中抛出特定异常类型时如何中断
- 无法中断gdb-mingw中的函数名
- 我可以在读/写地址时使用gdb中断吗
- gdb 可以在隐式类方法上中断吗?
- 如何在每个系统或库函数调用时使 GDB 中断