【发布时间】:2021-07-15 15:13:28
【问题描述】:
所以我想在断点到达时将带有局部变量的完整堆栈帧转储到 .txt 文件,然后使用“恢复”选项再次重新启动,当再次到达断点时创建新的 .txt 文件并保存调用堆栈再次。我刚刚浏览了文档,但我找不到保存堆栈帧的选项,断点窗口中的 CMD 对我来说很清楚。
【问题讨论】:
标签: c debugging embedded trace32 lauterbach
所以我想在断点到达时将带有局部变量的完整堆栈帧转储到 .txt 文件,然后使用“恢复”选项再次重新启动,当再次到达断点时创建新的 .txt 文件并保存调用堆栈再次。我刚刚浏览了文档,但我找不到保存堆栈帧的选项,断点窗口中的 CMD 对我来说很清楚。
【问题讨论】:
标签: c debugging embedded trace32 lauterbach
在 TRACE32 中,您可以使用命令 Frame /Args /Locals 查看显示调用堆栈(带有局部变量)的窗口。
与任何其他命令一样,您可以使用 pre-command WinPrint. 将窗口显示重定向到文本文件。
因此,首先在 TRACE32 中设置打印以将每个“打印”保存到文件中。
例如。 PRinTer.FILE c:/myProject/myLogfile-001.txt ASCIIE
如果选择的文件名以数字结尾,TRACE32 会在每次打印后自动增加数字。
现在,WinPrint.Frame /Args /Locals 命令会将调用堆栈保存到文件 c:/myProject/myLogfile-001.txt 并增加文件索引。
综合起来:
PRinTer.FILE c:/myProject/myLogfile-001.txt ASCIIE
Break.Set <address> /CMD "WinPrint.Frame /Args /Locals" /RESUME
当您编写“stackframe”时,您可能仅指当前函数的局部变量,而不是完整的调用堆栈。在这种情况下,使用命令Var.Local 而不是Frame /Args /Locals
【讨论】: