【问题标题】:How to save the stackframe in Lauterbach when the breakpoints is hit命中断点时如何在劳特巴赫中保存堆栈帧
【发布时间】:2021-07-15 15:13:28
【问题描述】:

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

【问题讨论】:

    标签: c debugging embedded trace32 lauterbach


    【解决方案1】:

    在 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 并增加文件索引。

    综合起来:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2023-04-04
      • 1970-01-01
      • 2022-08-17
      • 1970-01-01
      相关资源
      最近更新 更多