ブレークポイントに到達するたびに PRACTICE コマンドを実行するブレークポイントをいつでも設定できます。例えば
Break.Set myFunc /CMD "PRINT ""Hello World""" /RESUME
したがって、関数 myFunc() に到達すると、ターゲット CPU が停止します。次に PRACTICE コマンドPRINT "Hello World"
が実行され、最後にターゲット CPU が実行を継続します (オプションのおかげです/RESUME
)。(二重引用符は文字列内の二重引用符をエスケープすることを考慮してください)
単一のコマンドの代わりに、(オプションを複数回使用して) 複数のコマンドを/CMD
実行したり、PRACTICE スクリプトを実行したりすることもできます。
そのコード行でCPU を停止することなく、特定のコード行でデバッガー アクションをトリガーする場合は、外部トレース インターフェイスを使用したリアルタイム トレースが必要になります。たとえば、Embedded Trace Macro-cell (ETM) を備えた ARM CPU や、Nexus インターフェイスを備えた PowerPC が必要になります。さらに、トレース記録用の Lauterbach ハードウェア (PowerTrace、CombiProbe、uTrace など) が必要になります。
リアルタイム トレースがある場合は、特定のコード行に「トリガー ポイント」を設定し、「トリガー ポイント」がトリガーされたときにコマンドを実行できます。ブレークポイントの場合とほぼ同じように見えます。
Break.Set myFunc /TraceTrigger /CMD "PRINT ""Hello World""" /RESUME
したがって、唯一の違いはオプション "/TraceTrigger" です。もちろん、リアルタイム トレースが実際にセットアップで機能していることを確認する必要があります。