从trace32脚本语言访问监视变量

时间:2019-07-12 15:22:36

标签: c embedded trace32 lauterbach

我想创建一个诊断脚本,并希望以某种方式将用户在监视窗口中输入的所有变量获取到脚本。我该如何访问监视变量并进行操作?

我尝试使用DIALOG.view,但这浪费了太多时间。可能还有另一个跟踪命令,但我不知道。谢谢!

1 个答案:

答案 0 :(得分:0)

TRACE32不直接支持从脚本获取打开的Var.Watch窗口的内容。

但是您可以在脚本中执行以下操作

  1. 将打印重定向到文件PRinTer.FILE "~~~/winpage.txt" ASCIIE(当然,您可以选择其他任何文件名来代替winpage.txt)
  2. 窗口WinPAGE.List显示所有打开的子窗口。使用WinPrint.WinPAGE.List,您可以将所有打开的窗口的列表发送到之前指定的文件(winpage.txt)。
  3. 现在,将winpage.txt的内容解析为监视窗口的窗口名称。 窗口名称默认情况下以大写字母“ W”开头,后跟三个十进制数字(但也可以完全不同),然后是用来打开视窗。比较不区分大小写! 监视窗口具有以以下内容开头的命令:

    • B :: Var.Watch
    • B :: V.Watch
    • B :: Var.W
    • B :: V.W
  4. 将打印重定向到新文件,例如PRinTer.OPEN "~~~/varwatch.txt" ASCIIE

  5. 使用命令WinPRT <window name>将每个打开的监视窗口的内容发送到varwatch.txt文件。您从第3步中获得的相关窗口名称。为每个打开的监视窗口执行WinPrt。
  6. 使用PRinTer.CLOSE
  7. 关闭varwatch.txt

现在,您应该在文件varwatch.txt中拥有所有打开的监视窗口的内容。


其他想法:

  1. 使用命令STOre "mywindows.cmm" Win保存命令以创建脚本中所有打开的窗口。
  2. 针对以Var.Watch(或其中之一的短裤形式)开头的所有行以及以Var.AddWatch(或其中的短裤形式之一)开头的行分析此脚本。区分大小写! Var.Watch或Var.AddWatch后跟的参数是监视窗口中当前显示的变量。