memory - gdb & 找出内存地址何时被写入

标签 memory gdb loops

我试图弄清楚某个内存地址何时被写入。我在 gdb 中尝试了几个不同的循环,但它从未停止过。有什么想法吗?

例如:

(gdb) while *0x68181b88 == 0
> step
> end

PS:这是一个mips linux系统。

编辑:我的 MIPS 没有硬件支持/寄存器来观察内存值。虽然 watch 可以工作,但运行一个生命周期为 5 秒的应用程序大约需要 10 个小时。这就是我尝试循环的原因。

最佳答案

使用写入观察点
示例:

(gdb) watch *0x68181b88

参见gdb doc了解详情

关于memory - gdb & 找出内存地址何时被写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3115430/

相关文章:

Java,确保从 arrayList 中删除对象时删除对象

c++ - 读取符号时 gdb 段错误

c - 为什么我在调用 realloc() 后得到模运算的浮点异常?

visual-studio - Visual Studio 2019 内存分析器工具将托管堆中的所有对象列为“未知”

c - 用字符填充的动态分配的字符串导致空字符串 C

c++ - 了解段错误情况下的 gdb 输出

javascript - 使用 JavaScript 在 SharePoint 库中创建文件夹结构

c - 在不阻塞无限循环的情况下获取用户输入

ruby-on-rails - 出于性能考虑,我应该使用 `.blank?` 吗?

Java对象和数组内存位置