首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TRACE32调试--跟踪函数调用

TRACE32调试--跟踪函数调用
EN

Stack Overflow用户
提问于 2018-10-26 22:40:09
回答 2查看 988关注 0票数 1

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

就像我知道这条指令X有一些错误。我怎样才能追溯到代码中的哪个函数执行了这个指令X。

此外,如何了解更多关于使用trace32的帮助将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2018-10-30 03:05:36

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

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

代码语言:javascript
复制
Data.find P:0x10000--0x1FFFF %Long 0x01A00FCC

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

代码语言:javascript
复制
WinPOS ,,,,,,TraceList
Trace.List List.CODE List.ADDRESS List.ASM 
WinFIND "asreq   r0,r12,#0x1F" TraceList
票数 2
EN

Stack Overflow用户

发布于 2018-10-26 23:16:24

我不认为你的案子需要追踪。只需设置一个断点,然后查看调用堆栈:

代码语言:javascript
复制
# set breakpoint
Break.Set P:<address>
# go until breakpoint is hit
Go
WAIT !STATE.RUN()
# display call stack
Frame

要了解如何使用TRACE32,请检查您的TRACE32安装,例如"training_debugger.pdf“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53011107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档