Ale*_*lex 24 c c++ debugging gdb
可能重复:
我可以在GDB中的'内存访问'上设置断点吗?
我在内存中有一个特定的位置被破坏了,我希望能够准确地看到事情写入该位置的时间.有没有什么办法可以让gdb在对特定地址的内存访问中断?
Alo*_*ave 49
是.
使用观察点:
观察 - 仅在写入时中断(并且仅在值改变时)
rwatch - 读取时断开,并且
唤醒 - 读取/写入中断.
来自一些互联网资源的更详细的简介:
watch
watch是gdb设置数据断点的方法,如果内存在指定位置发生变化,它将暂停程序的执行.
可以在变量名称或任何地址位置设置监视断点.
watch my_variable
watch *0x12345678
where 0x12345678 is a valid address.
Run Code Online (Sandbox Code Playgroud)
当程序试图从变量或内存位置读取时, rwatch rwatch(读取监视)断点会中断代码的执行.
rwatch iWasAccessed
rwatch *0x12345678
where 0x12345678 is a valid address.
Run Code Online (Sandbox Code Playgroud)
awatch
awatch或access watch如果写入或读取变量或内存位置,则会中断程序的执行.总之,awatches是手表和rwatches一体化.这是创建一个断点而不是两个独立断点的便捷方式.
awatch *0x12345678
where 0x12345678 is a valid address.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24625 次 |
最近记录: |