デバッグの概要
アプリケーションのデバッグ:インデックス への移動
RAD Studio には、Win32 デバッガが組み込まれています。 IDE は、アクティブなプロジェクトの種類に基づいて、適切なデバッガを自動的に使用します。 プロジェクト グループ内のクロスプラットフォーム デバッグもサポートし、可能な場合、複数のデバッガで共通のユーザー インターフェイスを共有します。
統合デバッガを使用すると、RAD Studio のアプリケーションに含まれる実行時エラーも論理エラーも、検出して修正できます。 デバッガを使用すると、コードのステップ実行、ブレークポイントと監視式の設定、およびプログラムの各種の値のインスペクトと修正が可能になります。 アプリケーションをデバッグするときは、そのデバッグ セッションを管理するのに役立つデバッグ ウィンドウを利用できます。デバッグ ウィンドウにはアプリケーションの状態に関する情報が表示されます。
[デバッグ インスペクタ]を使用すると、配列、クラス、定数、関数、ポインタ、スカラ変数、インターフェイスなどのさまざまな型のデータを検証できます。 [デバッグ インスペクタ]を使用するには、[実行|インスペクト...]をクリックします。
デバッガのビデオ デモ『Debugger』(英語)も、概要を理解するのに役立ちます。
目次 |
コードのステップ実行
コードをステップ実行すると、プログラムのコードを 1 行ずつ実行できます。 ステップごとにプログラムの状態の検証、プログラムの出力の確認、プログラムの各種データ値の修正を行い、その後でコードの次の行の実行を継続できます。 デバッガに継続を指示するまでは、コードの次の行は実行されません。
[実行]をクリックすると、[トレース実行]コマンドおよび[ステップ実行]コマンドが表示されます。 どちらのコマンドも、コードの次の行を実行するようにデバッガに指示します。 ただし、その行に関数呼び出しが含まれる場合、[トレース実行]はその関数を実行して、関数内部の最初の行で停止します。 [ステップ実行]はその関数を実行して、関数実行後の最初の行で停止します。
評価/変更
評価/変更機能を使用すると、式を評価できます。 変数の値を変更して、値をその変数に挿入することもできます。 評価/変更機能は、使用中の言語に合わせてカスタマイズされています。
- C++ プロジェクトでは、[評価/変更]ダイアログは C++ の式だけを受け付けます。
- Delphi プロジェクトでは、[評価/変更]ダイアログは Delphi の式だけを受け付けます。
ブレークポイント
ブレークポイントは、プログラム内の特定の時点で、または特定の条件が発生した場合に、プログラムの実行を一時停止します。 それからデバッガを使用して、プログラムの状態を表示したり、コードを一度に 1 行または 1 マシン命令ずつステップ実行またはトレース実行します。 デバッガは、次の 4 種類のブレークポイントをサポートします。
- ソース ブレークポイントは、ソース コードの特定の場所で実行を一時停止します。
- アドレス ブレークポイントは、特定のメモリ アドレスで実行を一時停止します。
- データ ブレークポイントは、メモリの特定のアドレス変更時に実行を停止できるようにします。 データ ブレークポイントは、Win32 デバッガの場合のみ使用可能です。 データ ブレークポイントは、デバッグ セッションが終了すると自動的に無効になります。これは、変数のアドレスが 1 つのデバッグ セッションから別のセッションに変わるときに変更されるためです。 後続のデバッグ セッションでデータ ブレークポイントを再利用するには、デバッグ セッションの開始後にデータ ブレークポイントを再度有効にする必要があります。
- モジュール ロード ブレークポイントは、特定のモジュール ロードの発生時に実行を一時停止します。
ブレークポイントを作成、変更、維持する詳細は、「ブレークポイントを設定し変更する」を参照してください。
監視式
監視式を使用すると、コードをステップ実行またはトレース実行する場合に、プログラムの変数または式の値を追跡できます。 プログラムをステップ実行して、プログラムが監視式に含まれる変数を更新すると、監視式の値が変更されます。
デバッグ ウィンドウ
プログラムをデバッグする場合に役立つ以下のデバッグ ウィンドウを利用できます。 デフォルトでは、ほとんどのウィンドウは、デバッグ セッションを開始すると自動的に表示されます。 [表示|デバッグ]を選択すると、個別にウィンドウを表示することもできます。
各ウィンドウには、右クリックのコンテキスト メニューが 1 つ以上あります。 各ウィンドウで F1 キーからアクセスできるヘルプには、ウィンドウとコンテキスト メニューについての詳細情報があります。
| デバッグ ウィンドウ | 説明 |
|---|---|
|
コード エディタまたは[CPU]ウィンドウで現在設定されているブレークポイントをすべて表示します。 | |
|
現在の関数呼び出しの順序を表示します。 | |
|
実行ポイントのスコープに基づいて監視式の現在の値を表示します。 | |
|
現在の関数のローカル変数を表示します。プログラムの実行に従って、プログラムが変数の値を更新していく状況を監視できます。 | |
|
デバッガに制御されているプロセスと、各プロセスが現在ロードしているモジュールを表示します。 また、アプリケーションで使用されている名前空間、クラス、およびメソッドを階層構造で表示します。 | |
|
デバッグ中の各アプリケーションで実行されている、すべてのプロセスと実行スレッドの状態を表示します。 これは、マルチスレッド アプリケーションをデバッグするときに役に立ちます。 Windows Vista の場合、[スレッドの状態]には、スレッド障害とデッドロックを表示する[待機チェーン]列があります。 | |
|
プロセス制御、ブレークポイント、出力、スレッド、およびモジュールに関連するメッセージを表示します。 | |
|
ソース コードの各行のアセンブリ命令や特定のレジスタの内容を含む、プログラムの低レベルの状態を表示します。 | |
|
CPU の浮動小数点演算装置と SSE レジスタの内容を表示します。 |
デバッグ時のデスクトップの設定
保存されたデスクトップを選択して、デバッグ モード(デフォルトのキーの割り当てでは F9)でアプリケーションを実行中に IDE で使用することができます。 デバッグ時のデスクトップを設定するには、[表示|デスクトップの配置|デバッグ時に使う]をクリックするか、[デスクトップ]ツールバーの
をクリックします。
リモート デバッグ
リモート デバッグを使用すると、リモート コンピュータ上で実行中のアプリケーションをデバッグできます。 お使いのコンピュータが TCP/IP を介してリモート コンピュータに接続されていて、リモート コンピュータにリモート デバッガがインストールされている必要があります。 必要なアプリケーション ファイルを作成してリモート コンピュータにコピーした後に、そのコンピュータに接続すると、デバッグを開始できます。
関連項目
- ビデオ『Debugger』(英語) :デバッガのデモ