Trace32程序停止时执行脚本

时间:2016-08-03 06:50:19

标签: trace32 lauterbach

每次程序停止时都有办法执行脚本吗? 我需要做这样的事情:

Var.Set \myvar=list[Id]

其中list和Id是程序中的变量。

但是,如果ID更改\myvar没有更改,则会保留与旧ID相对应的值。

这就是为什么我想运行一个脚本,每当程序停止运行时执行该命令。

1 个答案:

答案 0 :(得分:1)

每次程序停止使用命令ON或GLOBALON时运行脚本。当仍有一个活动的PRACTICE脚本控制您的测试用例时,ON是合适的。如果您希望对事件做出反应,直到再次禁用它,则GLOBALON是合适的。

一般语法是:

ON|GLOBALON <event> <action>

其中&#34;事件&#34;对于&#34;程序中断&#34;可以是PBREAK和&#34;行动&#34;可以&#34; DO&lt; script.cmm&gt;&#34;在事件上执行单​​个脚本。

总结你得到:

GLOBALON PBREAK DO syncmyvar.cmm

其中脚本s​​yncmyvar.cmm包含您的命令Var.Set \myvar=list[Id]

要在程序中断时禁用事件处理程序,请使用

GLOBALON PBREAK inherit

如果我正确理解您的用例,您每次Var.Set \myvar=list[Id]更改时都要执行Id命令。在这种情况下,我会考虑使用带有命令操作的写断点​​。例如。像这样:

Var.Break.Set Id /Write /CMD "Var.Set \myvar=list[Id]" /RESUME 

然而,这给出了一个完全不同的行为:使用此断点,您的应用程序很快就会停止对Id的每次写入访问,而\ myvar始终与Id同步,而GLOBALON PBREAK DO syncmyvar.cmm变量\ myvar仅更新当应用程序完全停止时。