1.2 デバッガの概念

DS-5デバッガ 操作時に意識する必要がある概念の一部を一覧表示します。

デバッガ
デバッガはホストコンピュータで実行されるソフトウェアで、デバッグターゲットで実行されるソフトウェアを、デバッグアダプタを使用して検証および制御できるようにします。
デバッグセッション
デバッグセッションは、ターゲット上で実行されているソフトウェアをデバッグするために、デバッガをターゲットまたはモデルに接続したときに開始し、ターゲットからホストソフトウェアを切断したときに終了します。
デバッグターゲット
デバッグターゲットとは、プログラムの実行とデバッグを行うことができる環境のことです。この環境は、ハードウェア、ハードウェアをシミュレーションするソフトウェア、またはハードウェアエミュレータのいずれかです。
ハードウェアターゲットとしては、大量生産された開発ボードや電子装置からプロトタイプ製品やプリント基板に至るまで、さまざまなものがあります。
製品開発の初期段階では、ハードウェアを入手できない場合、シミュレーションまたはソフトウェアターゲットを使用して、ハードウェアの動作をシミュレーションすることがあります。 固定仮想プラットフォームFVPは、 ARM® がリリースしたソフトウェアモデルであり、機能の点で実際のハードウェアと同等の動作を行います。

FVP をデバッガと同じホストで実行する可能性があっても、FVP を別個のハードウェアとして考えることが重要です。
また、製品開発の初期段階では、ハードウェアエミュレータを使用して、プレシリコンテストについてハードウェアとソフトウェアの設計を検証することができます。
デバッグアダプタ
デバッグアダプタは、ターゲット上のデバッガによって要求されるアクションを実行します。.
デバッグアダプタの複雑さと機能は異なりますが、ソフトウェアデバッグエージェントと組み合わせることで、デバッグされるターゲットに対して次のような高レベルのデバッグ機能を提供します。
  • レジスタの読み出しと書き込み
  • ブレークポイントの設定
  • メモリからの読み出し
  • メモリへの書き込み

デバッグアダプタまたは接続は、デバッグされるアプリケーションではなく、デバッガ自体でもありません。
コンフィギュレーションデータベース
コンフィギュレーションデータベースには、接続可能なプロセッサ、デバイス、およびボードに関する情報が DS-5デバッガ によって保存されます。
このデータベースは、<DS-5 installation directory>/sw/debugger/configdb/ ディレクトリ内の一連の XML ファイル、Python スクリプト、その他のファイルとして存在します。
DS-5 は、さまざまなデバイスをそのままサポートするよう事前に構成された状態で提供されます。サポートされるデバイスは、Eclipse IDE 内の[Debug Configuration]ダイアログで表示できます。
cdbimporter ツールを使用して、独自のデバイスのサポートを追加することもできます。
コンテキスト
ターゲットの各プロセッサは、複数のプロセスを実行できます。ただし、プロセッサは任意のポイントで 1 つのプロセスのみを実行します。各プロセスは、変数、レジスタ、および他のメモリ位置に格納される値を使用します。プロセスの実行中にこれらの値を変更できます。
プロセスのコンテキストでは、現在のすべてのアクティブコールを列挙するコールスタックで主に定義されているように、現在の状態を記述します。
コンテキストは以下の場合に変更されます。
  • 関数が呼び出された。
  • 関数から戻った。
  • 割り込みまたは例外が発生した。
変数はクラス、ローカル、またはグローバル有効範囲を持つことができるので、現在アクセス可能な変数はコンテキストによって決定されます。すべてのプロセスは個別のコンテキストを持っています。プロセスの実行を停止すると、現在のコンテキスト内の値の検証と変更を行うことができます。
有効範囲
変数の有効範囲は、定義されているアプリケーション内のポイントによって決定されます。
変数は、以下の範囲内の関連する値を持つことができます。
  • 特定のクラスのみ(クラス)。
  • 特定の関数のみ(ローカル)。
  • 特定のファイルのみ(スタティックグローバル)。
  • アプリケーション全体(グローバル)。
デバッグおよびトレース サービス レイヤ(DTSL)
DTSL は、DS-5デバッガスタック内のソフトウェアレイヤです。DTSL は、通常 Jython スクリプトにより実装されている(拡張されている可能性のある)Java クラスのセットとして実装されます。通常の DTSL インスタンスは、Java と Jython の組み合わせです。 ARM では、ターゲットプラットフォームにアクセス/制御するプログラムを作成できるよう DTSL の独自の使用を達成しました。
関連する概念
1.5  DS-5 ヘッドレスコマンドラインデバッガについて
関連する作業
2.7.1 既存のアプリケーションとアプリケーション巻き戻しセッションへの接続
2.7.2 ターゲットシステムでのアプリケーションとアプリケーション巻き戻しサーバのダウンロード
2.7.3 アプリケーション巻き戻しサーバの起動およびターゲット常駐アプリケーションのデバッグ
2.4 Linux アプリケーションのデバッグ用の 固定仮想プラットフォームFVP への接続の設定
2.3 gdbserver を使用した Linux ターゲットへの接続の設定
2.6 Linux カーネルへの接続の設定
2.8 ベアメタルターゲットへの接続の設定
2.9 ベアメタルターゲットへのイベントビューアの接続の設定
1.7 ヘッドレスコマンドラインデバッガを使用したカスタムコンフィギュレーションデータベースの指定
関連情報
DS-5 によってサポートされているデバッグオプション
ARM DSTREAM ハードウェアの設定
ARM RVI ハードウェアの設定
非機密扱いPDF file icon PDF 版ARM DUI0446VJ
Copyright © 2010-2015 ARM.All rights reserved.