見出し画像

【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