デバッガの概念

以下の概念がアプリケーションのデバッグ時に関係します。

デバッガ

デバッガはホストコンピュータで実行されるソフトウェアであり、これによってデバッグエージェントを使用してデバッグターゲット上で実行さるソフトウェアの検証および制御ができます。

デバッグセッション

デバッグセッションは、ターゲット上で実行されているソフトウェアをデバッグするために、デバッガをターゲットまたはモデルに接続したとき開始し、ターゲットからホストソフトウェアを切断したときに終了します。

デバッグターゲット

製品開発の初期段階は、ハードウェアがない場合があるので、ハードウェアの予想される動作をソフトウェアでシミュレートします。デバッガのニュアルでは、これをモデルと呼びます。モデルをデバッガと同じコンピュータで実行する可能性があっても、ターゲットを別個のハードウェとして考えることが重要です。

あるいは、アプリケーションを実行またはデバッグする1つ以上のプロセッサを含むプリント基板にプロトタイプ製品を構築できます。デバッガのマニュアルでは、これをハードウェアターゲットと呼びます。

デバッグエージェント

デバッグエージェントは、ターゲット上のデバッガによって要求されるアクションを実行します。以下に例を示します。

  • ブレークポイントの設定

  • メモリからの読み出し

  • メモリへの書き込み

デバッグエージェントはデバッグされるアプリケーションではなく、デバッガ自体でもありません。

以下はその例です。

  • デバッグハードウェアエージェント:

    • ARM DSTREAM™ ユニット

    • ARM RVI™ ユニット

  • デバッグソフトウェアエージェント:

    • リアルタイムシステムモデル(RTSM)

    • gdbserver

コンテキスト

ターゲットの各プロセッサは現在実行中のプロセスを持つことができます。各プロセスは、変数、レジスタ、および他のメモリ位置に格納されるを使用します。プロセスの実行中にこれらの値を変更できます。

プロセスのコンテキストでは、現在のすべてのアクティブコールを列挙するコールスタックで主に定義されているように、現在の状態を記述しま。コンテキストは以下の場合に変更されます。

  • 関数が呼び出された。

  • 関数から戻った。

  • 割り込みまたは例外が発生した。

変数はクラス、ローカル、またはグローバル有効範囲を持つことができるので、現在アクセス可能な変数はコンテキストによって決定されます。べてのプロセスは独自のコンテキストを持っています。プロセスの実行を停止すると、現在のコンテキスト内の値の検証と変更を行うことができます。

有効範囲

変数の有効範囲は、定義されているアプリケーション内のポイントによって決定されます。変数は、以下の範囲内の関連する値を持つことができす。

  • 特定のクラスのみ(クラス

  • 特定の関数のみ(ローカル

  • 特定のファイルのみ(スタティックグローバル

  • アプリケーション全体(グローバル

Show/hide関連項目

Copyright © 2010, 2011 ARM. All rights reserved.ARM DUI 0446FJ
Non-ConfidentialID111611