我正在使用引脚检测工具来获取内存痕迹。 根据我的实现结果,我发现痕迹表示虚拟地址,而不是物理地址。 有没有办法在 Pin 工具中获取物理地址跟踪? 救命!
最佳答案
pin 工具在用户空间中运行,因此它仅适用于虚拟地址。无法直接从 pin 工具的 API 获取物理地址。
将虚拟地址转换为物理地址的另一种方法是在 pin 工具中使用操作系统的页面映射 API。在 Linux 中,这可以通过使用 /proc/<pid>/pagemap
来实现。 。互联网上有很多示例演示如何将虚拟地址转换为物理地址,您可以通过在 google 中搜索“linux 虚拟到物理内存映射”找到一些示例。
关于intel-pin - 在 pin 工具中获取物理地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26114260/