2016-08-03 194 views
1

有没有一种方法可以在程序每次停止时执行脚本? 我需要做这样的事情:Trace32程序停止时执行脚本

Var.Set \myvar=list[Id] 

其中列表和编号是从程序变量。

但是,当Id更改\myvar不会更改时,它将保留与对应于旧ID的值。

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

回答

1

要在每次程序停止时运行脚本,请使用命令ON或GLOBALON。 ON仍然适用于控制测试用例的活动PRACTICE脚本。如果您希望对事件有所反应,直到您再次禁用该事件,则GLOBALON是合适的。

一般语法是:

ON|GLOBALON <event> <action> 

其中“事件”可以PBREAK为“程序中断”和“行动”可以是“DO <script.cmm>”对事件执行单个脚本。

把所有在一起,你会得到:

GLOBALON PBREAK DO syncmyvar.cmm 

其中,script syncmyvar.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仅当应用程序完全停止时才会更新。