【TRACE32 Basic】ブレーク機能
TRACE32 を利用してプログラムのデバッグ時に、プログラムの実行制御に有用なブレークポイントについて紹介します。
ソフトウェア/オンチップ(ハードウェア)ブレークについて
最初にソフトウェアとオンチップ(ハードウェア)ブレークポイントについて説明します。
ソフトウェアブレークポイント
ブレークポイントを設定するアドレスの命令を、プログラムを停止するための命令に変更して実現しています。
プログラムが停止した際に、停止命令は、自動的に元の命令に復元されます。
オンチップ(ハードウェア)ブレークポイント
ブレークレジスタなどの形態でプロセッサコアに実装されるハードウェアリソースを利用します。
使用可能なオンチップブレークポイントの数には制限があり、使用するプロセッサのアーキテクチャによって異なります。
通常は、1 ~ 16 程度の数が提供されています。
ブレークポイントの種類(プログラム/アクセスブレークポイント)
ブレークポイントの種類には、プログラムブレークポイントとアクセス(リード/ライト)ブレークポイントがあります。
プログラムブレークポイント
ブレークポイント アドレスの命令が実行されると、実行を停止します。
アクセスブレークポイント
指定したアドレスへのリード(読み出し)やライト(書き込み)アクセスが行われると、実行を停止します。
TRACE32 のブレークポイント基本操作動画
以下は、TRACE32 のブレークポイント機能の基本的な使い方を示した動画です。
条件付きブレークポイント
TRACE32 では、ブレークポイントを指定の際に、任意の条件を指定することができます。
この条件が成立する場合にのみ、ブレークが行われ、プログラム実行を停止します。
条件の指定は、すべてのタイプのブレークポイントで利用可能できます。
使用例
任意の変数が、一定の値になった場合のみブレーク
任意の関数が一定回数呼び出された場合にブレーク
条件付きブレークポイント操作動画
以下は、条件付きブレークポイント機能の使い方を示した動画です。
ブレーク時の動作(コマンド)指定
ブレークポイントにヒットした際に、自動的実行されるデバッガコマンドを指定することができます。コマンドは、TRACE32 PRACTICE 型式で指定します。
ブレーク時コマンド操作設定動画
以下は、ブレーク時にコマンド操作を行うための設定方法を示した動画です。
TRACE32 ブレークポイント関連ドキュメント
コマンドリファレンス
https://www.lauterbach.com/pdf/general_ref_b.pdf
TRACE32 デバッガの基本的な使い方(ブレークポイント設定方法含む)
https://www.lauterbach.com/pdf/training_debugger.pdf