I want to know which addresses an application is accessing in the order of access. I heard that Pin (profiler from Intel) can be used to do this.

Is there any way to do this with Pin or some other tools?

The application is likely to be written in C. I am working on Linux Mint 14.

Note: Visual results would be nice to have but not necessary.

有帮助吗?

解决方案

It seems like Pin can do this after all. There is an example tool named 'pinatrace' that traces all the memory access address, whether it is read or write etc. It is not a visual result. It writes all the access information on a text file. It can be a huge file depending on your program's memory footprint and usage.

But it is possible to filter these by changing the injected code in the pin tool's (pinatrace) code, in case you only want to know the access order for a particular array or something (which was my case).

Hope this helps anyone facing similar problem.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top