如何找到通过gdb或任何其他工具通过加载或存储操作(ARM处理器)完成的所有内存访问地址

时间:2018-09-18 05:49:07

标签: memory arm gdb

我需要找到运行在基于ARMv7 ISA的Raspberyy pi3上的程序访问的每个内存位置的地址。

本质上,我想捕获程序的所有负载和存储以构建详细的内存跟踪。最终目的是研究特定的内存访问模式如何影响访问延迟,因此详细的跟踪非常重要。

我尝试通过gdb进行跟踪,如下所示:

gdb) while 1
> x/i $pc
>stepi
>end

但是问题是它返回了类似的踪迹

  

ldr r3,[r7,#4]!

我需要的是“ ldr r3,内存地址”,在这里我不需要重新计算寄存器r7中存储的值并加4,依此类推。

程序很大,跟踪花费了数小时。有没有办法直接获取地址?

0 个答案:

没有答案