WinDbg でのアセンブリ コードのデバッグ

WinDbg では、コマンドを入力するか、[逆アセンブリ] ウィンドウを使用してアセンブリ コードを表示できます。

デバッガー コマンド ウィンドウ

アセンブリ コードを表示するには、[デバッガー コマンド] ウィンドウで u、ub、uu (組み立て) コマンドのいずれかを入力します。

Dissasembly ウィンドウ

[逆アセンブリ] ウィンドウを開くか、逆アセンブル ウィンドウに切り替えるには、[表示] メニューから [Dissasembly] を選択します。 (Alt キーを押しながら 7 キーを押すか、ツール バーの [逆アセンブル ] ボタン (screen shot of the disassembly button.) を選択することもできます。 Alt + Shift + 7 を押すと、[逆アセンブル] ウィンドウが閉じます)。

次のスクリーン ショットは、逆アセンブル ウィンドウの例を示しています。

screen shot of the disassembly window.

デバッガーはメモリのセクションを受け取り、バイナリ コンピューター命令として解釈した後、逆アセンブルしてマシン命令のアセンブリ言語バージョンを生成します。 結果のコードが [逆アセンブル] ウィンドウに表示されます。

[逆アセンブル] ウィンドウでは、次の操作を行うことができます。

  • メモリの別のセクションを逆アセンブルするには、[ オフセット ] ボックスに、逆アセンブルするメモリのアドレスを入力します。 (アドレスを入力した後に Enter キーを押しても、入力する必要はありません)。逆アセンブル ウィンドウには、アドレスを完了する前にコードが表示されます。このコードは無視できます。

  • メモリの他のセクションを表示するには、[ 前へ ] または [次へ ] ボタンを選択するか、PAGE UP キーまたは PAGE DOWN キーを押します。 これらのコマンドは、メモリの前または次のセクションからの逆アセンブルされたコードをそれぞれ表示します。 右方向キー、左方向キー、上方向キー、下方向キーを押すと、ウィンドウ内を移動できます。 これらのキーを使用してページから移動すると、新しいページが表示されます。

逆アセンブル ウィンドウには、2 つのボタンと追加のコマンドを含むショートカット メニューを含むツール バーがあります。 メニューにアクセスするには、タイトル バーを長押し (または右クリック) するか、ウィンドウの右上隅付近に表示されるアイコン (screen shot of the button that displays the disassembly window toolbar shortcut menu.) を選択します。 メニュー コマンドの一部を次に示します。

  • 現在のアドレスに移動 すると、[逆アセンブル] ウィンドウで選択した行に対応するソース ファイルを含む [ソース] ウィンドウが開き、この行が強調表示されます。

  • 現在の命令の前に逆アセンブル すると、[逆アセンブル] ウィンドウの中央に現在の行が配置されます。 このコマンドは既定のオプションです。 このコマンドをオフにすると、[逆アセンブル] ウィンドウの上部に現在の行が表示されます。逆アセンブルの逆アセンブルには時間がかかる可能性があるため、時間が節約されます。

  • 現在のソース行からの命令を強調表示 すると、現在のソース行に対応するすべての命令が強調表示されます。 多くの場合、1 つのソース行が複数のアセンブリ命令に対応します。 コードが最適化されている場合、これらのアセンブリ命令が連続していない可能性があります。 このコマンドを使用すると、現在のソース行から組み立てられたすべての命令を検索できます。

  • 各命令のソース行を表示 すると、各アセンブリ命令に対応するソース行番号が表示されます。

  • 各命令のソース ファイルを表示 すると、各アセンブリ命令に対応するソース ファイル名が表示されます。

追加情報

アセンブリのデバッグと関連コマンドの詳細とアセンブリ表示の詳細については、「 アセンブリ モードでのデバッグ」を参照してください。