2016-08-03 20 views
1

プログラムが停止するたびにスクリプトを実行する方法はありますか?リストとIdがプログラムからの変数ですTrace32プログラム停止時にスクリプトを実行

Var.Set \myvar=list[Id] 

: 私はこのような何かをする必要があります。

しかし、Idが変更されると、\myvarは変更されませんが、古いIDに対応する値がそのまま残ります。

これは、プログラムが実行されなくなるたびにそのコマンドを実行するスクリプトを実行する理由です。

答えて

1

プログラムが停止するたびにスクリプトを実行するには、ONまたはGLOBALONコマンドを使用します。 ONは、テストケースを制御しているアクティブなPRACTICEスクリプトがまだ存在する場合に適しています。 GLOBALONは、イベントを再び無効にするまで反応を起こさせたい場合に適しています。

一般的な構文は次のとおりです。「イベント」は、「プログラム・ブレイク」のためにPBREAKすることができ、「アクション」はイベントに個々のスクリプトを実行する「<script.cmm>をDO」することができます

ON|GLOBALON <event> <action> 

GLOBALON PBREAK DO syncmyvar.cmm 
スクリプトsyncmyvar.cmmがあなたのコマンドが含まれてい

Var.Set \myvar=list[Id]

をプログラムブレーク用途に

GLOBALON PBREAK inherit 

をイベントハンドラを無効にするには:あなたが得るすべて一緒に置く

あなたのユースケースを正しく理解していれば、コマンド01を実行したいと思います毎回Idが変更されたこの場合、私はコマンドアクションで書き込みブレークポイントを使用することを検討します。例えば。このような:

しかし、これは全く異なる振る舞いを与える
Var.Break.Set Id /Write /CMD "Var.Set \myvar=list[Id]" /RESUME 

:このブレークポイントを使用すると、アプリケーションは、IDと\ MYVARへのすべての書き込みアクセスのためにすぐに停止します、IDで常に同期されながら、GLOBALON PBREAK DO syncmyvar.cmm変数の\ MYVARとアプリケーションが完全に停止したときにのみ更新されます。

関連する問題