具有内存内容的内存跟踪
Memory Trace with Memory Contents
我正在尝试获取一个简单程序的 运行 的内存跟踪,在其中我可以看到 地址和数据都是 read/written,例如W 0x7fffffffd928 4 0xe4d829d0
表示将 4 字节值 0xe4d829d0
写入地址 0x7fffffffd928
.
Valgrind 中有一个工具(Lackey 工具),它只提供地址和数据长度。由于 Valgrind 工具的文档很差,我查看了 Valgrind 源代码,但似乎没有任何直接访问数据的方法。
另一种可能性似乎是英特尔的 Pin,但在阅读其文档后我也没有找到任何相关内容。
这似乎是一个非常简单的问题,但是,我无法弄清楚或找到任何解决方案。谢谢!
PIN 的关键功能是PIN_SafeCopy
,必须用PIN_GetLock
和PIN_ReleaseLock
括起来。在 Philippe Teuwen's blog.
查看功能齐全的 PIN 工具
我正在尝试获取一个简单程序的 运行 的内存跟踪,在其中我可以看到 地址和数据都是 read/written,例如W 0x7fffffffd928 4 0xe4d829d0
表示将 4 字节值 0xe4d829d0
写入地址 0x7fffffffd928
.
Valgrind 中有一个工具(Lackey 工具),它只提供地址和数据长度。由于 Valgrind 工具的文档很差,我查看了 Valgrind 源代码,但似乎没有任何直接访问数据的方法。
另一种可能性似乎是英特尔的 Pin,但在阅读其文档后我也没有找到任何相关内容。
这似乎是一个非常简单的问题,但是,我无法弄清楚或找到任何解决方案。谢谢!
PIN 的关键功能是PIN_SafeCopy
,必须用PIN_GetLock
和PIN_ReleaseLock
括起来。在 Philippe Teuwen's blog.