TRACE32调试-跟踪函数调用

时间:2018-10-26 14:40:09

标签: debugging linux-kernel arm embedded-linux trace32

如何知道使用trace32哪个函数调用了特定指令?基于ARM。

这就像我知道该指令X有一些错误。我该如何追溯到执行该指令X的代码中的哪个函数。

还如何了解有关使用trace32的更多信息 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

如果您知道指令的编码,则可以使用Data.Find命令在内存中搜索指令。

例如:要在地址范围0x10000--0x1FFFF中找到指令“ asreq r0,r12,#0x1F”编码的Thumb2,可以使用:

Data.find P:0x10000--0x1FFFF %Long 0x01A00FCC

其他选项:使用ETM跟踪记录您的应用程序(如果您的芯片和Lauterbach工具可用),并通过记录进行文本搜索。例如:

WinPOS ,,,,,,TraceList
Trace.List List.CODE List.ADDRESS List.ASM 
WinFIND "asreq   r0,r12,#0x1F" TraceList