1

我对提取某个程序的内存访问感兴趣。

我正在寻找以下列表,例如特定执行:

[R\W]  [Address]   [numBytes]     
R         0x0000012d32a21   0x4

我已经尝试过 valgrind 和 mtrace,以及它们的相关工具。

它们似乎都返回了更一般的统计信息或内存泄漏相关的统计信息。

我对所有内存访问数据感兴趣。

我用谷歌搜索了几个小时,发现很多论文处理这个问题,但没有一个有效的开源代码。

感谢你的帮助

4

2 回答 2

1

valgrind 走狗工具应该为您提供所需的信息。

请参阅http://www.valgrind.org/docs/manual/lk-manual.html 选项 --trace-mem= [默认值:否]

于 2013-12-27T15:44:31.077 回答
1

您可能会查看Pin

从描述:

Pin 是一个用于 IA-32 和 x86-64 指令集架构的动态二进制检测框架,可以创建动态程序分析工具。

您应该能够找到或编写一个可以满足您需要的 pintool。比如这个。 链接的示例几乎正是您所要求的。您需要在仪器中添加一个IARG_MEMORYREAD_SIZEand IARG_MEMORYWRITE_SIZE,但这看起来很简单。

于 2013-12-26T19:38:11.463 回答