0

我尝试使用 PIN 工具来捕获内存跟踪。但是,PIN 网站表示地址包括所有内存读取和写入。

我想捕获程序生成的外部存储器地址。这些地址是在高速缓存访​​问后生成的,因此对应于 DRAM 中的物理地址。

你能告诉我是否可以捕获外部存储器地址跟踪吗?我想知道这是否已经可用,如果是,请指出来源。

我看到了这个问题:Getting physical address in pin tool

它说关于从虚拟到物理的转换。但是,我想在访问缓存后获取地址跟踪。

4

1 回答 1

1

简短的回答是否定的。就像任何其他软件一样,Pin 无法判断加载/存储指令是否在缓存中命中/未命中。

我认为你可以用 Pin 做的最好的事情是编写一个缓存模拟器(你可以看看 Pin - 附带的那个pin-x.y/source/tools/SimpleExamples/dcache.cpp)并记录在模拟缓存中错过的访问(即地址)。由于许多原因,这并不准确,但根据您的需要,它可能很有用。

这个问题答案顺便讨论了一个类似的问题。

于 2017-03-26T02:51:38.443 回答