WinDbg (クラシック) でのソース コードのデバッグ

ソース パス

ソース パスは、C および C++ ソース ファイルが配置されているディレクトリを指定します。 デバッガーでのソース コードの表示の詳細については、「ソース パス」を参照してください。

注: 企業ネットワークに接続している場合、ソース ファイルにアクセスする最も効率的な方法は、ソース サーバーを使用することです。 ソース パス内の srv* 文字列を使用して、ソース サーバーを使用できます。 ソース サーバーの詳細については、「ソース サーバーの使用」を参照してください。

WinDbg でソース パスを制御するには、次のいずれかの操作を行います。

ソース ファイルを開く/閉じる

ソース ファイルを直接開いたり閉じたりするには、次のいずれかの操作を行います。

  • [ファイル] メニューから[Open File Path]選択するか、CTRL + O キーを押します。 [ソースファイルを開く] ボタン (Screenshot of the Open Source File button in WinDbg. 使用することもできます

    注: メニューまたはツール バー ボタンを使用してソース ファイルを開くと、そのファイルのパスがソース パスに自動的に追加されます。

  • [ファイル] メニューから [現在のウィンドウを閉じる] 選択します。

  • [ソース] ウィンドウの隅にある [閉じる] ボタンを選択します。

  • [ファイル] メニューから [最近使用したファイル]選択して、WinDbg で最近開いた 4 つのソース ファイルのいずれかを開きます。

  • .open (ソース ファイルを開く) コマンドを入力します。

  • lsf (ソース ファイルの読み込みまたはアンロード) コマンドを入力します。

WinDbg の [ソース] ウィンドウには、デバッガーに読み込まれたソース ファイルが表示されます。

[ソース] ウィンドウを開く

デバッガーは、新しいソース ファイルを読み込むと、[ソース] ウィンドウを開きます。 開いている [ソース] ウィンドウに復元または切り替えるには、[ウィンドウ] メニューに移動し、メニューの下部にあるウィンドウの一覧から選択します。

次のスクリーン ショットは、[ソース] ウィンドウの例を示しています。

Screenshot of the Source window in WinDbg, displaying a loaded source file.

各ソース ファイルは、独自の [ソース] ウィンドウに存在します。 各 [ソース] ウィンドウのタイトルは、ソース ファイルの完全なパスです。

[ソース] ウィンドウの使用

各 [ソース] ウィンドウには、1 つのソース ファイルのテキストが表示されます。 デバッガーでソース ファイルを編集することはできません。 フォントとタブの設定の変更の詳細については、「テキストプロパティの変更」を参照してください。

各 [ソース] ウィンドウには、追加のコマンドを含むショートカット メニューがあります。 メニューにアクセスするには、タイトル バーを長押し (または右クリック) するか、ウィンドウの右上隅付近に表示されるアイコンを選択します。 次の一覧では、メニュー コマンドの一部について説明します。

  • 命令ポインターを現在の行に設定すると、命令ポインターの値が、現在の行に対応する命令に変更されます。 このコマンドは、Edit | Set Current Instruction コマンドを使用するか、CTRL + SHIFT + I を押すのと同じです。

  • このファイルを編集すると、ソース ファイルがテキスト エディターで開きます。 エディターは、WinDiff エディターのレジストリ情報または WINDBG_INVOKE_EDITOR 環境変数の値によって決定されます。 たとえば、WINDBG_INVOKE_EDITOR の値が次のような場合を考えてみましょう。

    c:\my\path\myeditor.exe -file %f -line %l
    

    この場合、Myeditor.exe は現在のソース ファイルの 1 から始まる行番号を開きます。 %l オプションは、行番号を 1 から始まる値として読み取る必要があることを示し、%f は現在のソース ファイルを使用する必要があることを示します。 その他の置換には、行番号が 0 から始まる %L や、現在のソース ファイルを使用する必要があることを示す %p があります。

  • 選択の評価は、C++ 式エバリュエーターを使用して、現在選択されているテキストを評価します。 [デバッガー コマンド] ウィンドウに、結果が表示されます。 選択したテキストに複数の行が含まれている場合、構文エラーが発生します。 このコマンドは、CTRL + SHIFT + V を押して Edit | Evaluate Selection コマンドを使用するか、引数として選択したテキストで ?? (Evaluate C++ Expression) コマンドを使用するのと同じです。

  • [選択したタイプを表示] には、選択したオブジェクトのデータ タイプが表示されます。 この表示は、[デバッガー コマンド] ウィンドウに表示されます。 選択したテキストに複数のオブジェクトが含まれている場合は、構文エラーまたはその他の不規則な結果が表示されることがあります。 このコマンドは、Edit | Display Selected Type コマンドを使用するか、CTRL + SHIFT + Y を押すのと同じです。

  • [メモリ ウィンドウを選択して開く] では、選択した式のアドレスから始まるメモリを表示する新しいドッキング されたメモリ ウィンドウが開きます。

  • [ウォッチ ウィンドウに選択を追加] は、選択したソース トークンを [ウォッチ] ウィンドウに追加します。

  • 現在の行で逆アセンブルすると、現在の行に対応する命令が [逆アセンブリ] ウィンドウに表示されます。 選択した行は [ソース] ウィンドウと [逆アセンブル] ウィンドウで強調表示されていますが、このコマンドは表示にのみ影響します。命令ポインターは変更されません。 このコマンドを選択したときに [逆アセンブル] ウィンドウを閉じると、そのウィンドウが開きます。

  • [ソース言語を選択] を選択すると、プログラミング言語の一覧が表示されます。 ソース ファイルの生成に使用したプログラミング言語を選択し、[OK] を選択して、現在の [ソース] ウィンドウの基本的な構文の強調表示を有効にします。 現在の [ソース] ウィンドウの構文の強調表示を無効にするには、<[なし]> を選択します。

[ソース] ウィンドウの色とホバー評価

デバッガーでソース ファイル名拡張子が認識された場合、[ソース] ウィンドウには特定の構文要素が色で表示されます。 色をオフまたは変更するには、次の操作を行います。

  • 1 つのウィンドウで構文の色をオフにするには、ソース ウィンドウのショートカット メニューを開き、[ソース言語の選択] を選択し、<[なし]> を選択します。

  • すべてのソース ウィンドウで構文の色をオフにするには、[表示] メニューから [オプション] を選択します。 次に、[ソース言語の解析] チェック ボックスをオフにします。

  • 構文の色を変更するには、[表示] メニューから[オプション] を選択します。 次に、[色] 領域で構文要素を選択し、[変更] ボタンを選択して色を変更します。

  • 強調表示に使用される解析方法は、ソース ファイルのファイル拡張子に関連付けられているプログラミング言語によって決まります。 特定のファイル拡張子に関連付けられているプログラミング言語を変更するには、[ソース言語のファイル拡張子] ダイアログ ボックスを使用します。 このダイアログ ボックスを開くには、[表示] メニューから [ソース言語ファイル拡張子] を選択します。

現在のプログラム カウンターを表す行が強調表示されます。 ブレークポイントが設定されている行も強調表示されます。

[ソース] ウィンドウを選択し、マウスを使用してそのウィンドウ内のシンボルの上にマウス ポインターを置くと、シンボルが評価されます。 評価は、dt (Display Type) コマンドによって生成されたものと同じです。 この評価を非アクティブ化するには、[表示] メニューから [オプション] を選択します。 次に、[ホバー時に評価する] チェック ボックスをオフにします。

関連項目

ソースのデバッグと関連するコマンドの詳細については、「ソース モードでのデバッグ」を参照してください。