微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

遇到断点时如何在劳特巴赫保存堆栈帧

如何解决遇到断点时如何在劳特巴赫保存堆栈帧

所以我想在到达断点时将带有局部变量的完整堆栈帧转储到 .txt 文件中,然后使用“恢复”选项再次重新启动,当再次到达断点时创建新的 .txt 文件并保存调用堆栈再次。我刚刚浏览了文档,我找不到保存他堆栈帧的选项,断点窗口中的 CMD 对我来说很清楚。

解决方法

在 TRACE32 中,您可以使用命令 Frame /Args /Locals 查看显示调用堆栈(带有局部变量)的窗口。

与任何其他命令一样,您可以使用前置命令 WinPrint. 将窗口显示重定向到文本文件。

因此,首先在 TRACE32 中设置打印以将每个“打印”保存到一个文件中。
例如PRinTer.FILE c:/myProject/myLogfile-001.txt ASCIIE
如果选择的文件名以数字结尾,TRACE32 会在每次打印后自动增加数字。

现在,命令 WinPrint.Frame /Args /Locals 会将调用堆栈保存到文件 c:/myProject/myLogfile-001.txt 并增加文件索引。

综合起来:

  1. 使用 E.g. 设置打印到文件PRinTer.FILE c:/myProject/myLogfile-001.txt ASCIIE
  2. 使用 E.g. 设置断点Break.Set <address> /CMD "WinPrint.Frame /Args /Locals" /RESUME

当您编写“stackframe”时,您可能只表示当前函数的局部变量,而不是完整的调用堆栈。在这种情况下,请使用命令 Var.Local 而不是 Frame /Args /Locals

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。