次の方法で共有


デバッガー コマンドの使用

ここでは、デバッガー コマンドの使用方法について説明します。 WinDbg は、クラッシュ ダンプの分析、ライブ ユーザー モードとカーネル モード コードのデバッグ、CPU レジスタとメモリの確認に使用できるデバッガーです。 詳細については、「 WinDbg の概要」を参照してください。

デバッガーをインストールするには、「 Windows デバッガーのインストール」を参照してください。

WinDbg の使用を開始するには、「 Windows デバッグの概要」を参照してください。

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

WinDbg の場合、"デバッガー コマンド ウィンドウ" はタイトル バーの "Command" というラベルの付いたウィンドウを参照します。 このウィンドウには、次の 2 つのペインがあります。

  • 小さい下部のウィンドウで、コマンドを入力します。

  • 大きな上部のウィンドウには、コマンドの出力が表示されます。

このウィンドウは、デバッグ セッションの開始時に常に開きます。 [表示] メニューの [コマンド] を選択するか、Alt キーを押しながら 1 キーを押すか、コマンド (Alt + 1) ボタンを選択して、このウィンドウを再度開くか切り替えることができます ([デバッガー コマンド ウィンドウ] ボタンのスクリーンショット)。

上方向キーと下方向キーを使用して、コマンド履歴をスクロールできます。 前のコマンドが表示されたら、それを編集し、Enter キーを押して前のコマンド (または前のコマンドの編集済みバージョン) を実行できます。 このプロシージャが正しく機能するためには、カーソルが行の末尾にある必要はありません。

KD または CDB

KD または CDB の場合、"デバッガー コマンド ウィンドウ" はウィンドウ全体を参照します。 ウィンドウの下部にあるプロンプトでコマンドを入力します。 コマンドに出力がある場合は、ウィンドウに出力が表示され、プロンプトが再度表示されます。

デバッガー のコマンド ウィンドウ プロンプト

ユーザー モード デバッグを実行する場合、[デバッガー コマンド] ウィンドウのプロンプトは次の例のようになります。

2:005>

前の例では、2 は現在のプロセス番号、005 は現在のスレッド番号です。

デバッガーを複数のコンピューターにアタッチすると、次の例のように、プロセスとスレッド番号の前にシステム番号が含まれます。

3:2:005>

この例では、3 は現在のシステム番号、2 は現在のプロセス番号、005 は現在のスレッド番号です。

プロセッサが 1 つしかないターゲット コンピューターでカーネル モード デバッグを実行する場合、プロンプトは次の例のようになります。

kd>

ただし、ターゲット コンピューターに複数のプロセッサがある場合は、次の例のように、現在のプロセッサの数がプロンプトの前に表示されます。

0: kd>

デバッガーが以前に発行したコマンドの処理中にビジー状態の場合、新しいコマンドは一時的に処理されませんが、コマンド バッファーに追加することはできます。 さらに、KD と CDB では引き続き 制御キー を使用できます。また、WinDbg ではメニュー コマンドと ショートカット キー を引き続き使用できます。 KD または CDB がこのビジー状態の場合、プロンプトは表示されません。 WinDbg がこのビジー状態の場合、プロンプトの代わりに次のインジケーターが表示されます。

*BUSY*

.pcmd (プロンプト コマンドの設定) コマンドを使用して、このプロンプトにテキストを追加できます。

コマンドの種類

WinDbg、KD、および CDB では、さまざまなコマンドがサポートされています。 一部のコマンドはデバッガー間で共有され、一部は 1 つまたは 2 つのデバッガーでのみ使用できます。

一部のコマンドはライブ デバッグでのみ使用でき、その他のコマンドはダンプ ファイルをデバッグする場合にのみ使用できます。

一部のコマンドは、ユーザー モードのデバッグ中にのみ使用でき、その他のコマンドはカーネル モードのデバッグ中にのみ使用できます。

一部のコマンドは、ターゲットが特定のプロセッサで実行されている場合にのみ使用できます。 すべてのコマンドとその制限の詳細については、「 デバッガー コマンド」を参照してください。

コマンドの編集、繰り返し、取り消し

コマンドを入力するときに、標準の編集キーを使用できます。

  • 上方向キーと下方向キーを使用して、前のコマンドを見つけます。

  • BACKSPACE キー、DELETE キー、INSERT キー、左方向キー、および右方向キーを使用して、現在のコマンドを編集します。

  • Esc キーを押して現在の行をクリアします。

Tab キーを押すと、テキスト入力が自動的に完了します。 いずれかのデバッガーで、少なくとも 1 文字を入力した後に Tab キーを押して、コマンドを自動的に完了します。 Tab キーを繰り返し押してテキスト補完オプションを順番に移動し、Shift キーを押しながら Tab キーを押して逆順に移動します。 また、テキストでワイルドカード文字を使用し、Tab キーを押してテキスト入力候補オプションの完全なセットに展開することもできます。 たとえば、「 fo*!ba 」と入力して Tab キーを押すと、デバッガーは、"fo" で始まるモジュール名を持つすべてのモジュールで、"ba" で始まるすべてのシンボルのセットに展開されます。 別の例として、「 !*prcb 」と入力して Tab キーを押すと、"prcb" が含まれるすべての拡張コマンドを完了できます。

Tab キーを使用してテキスト補完を実行すると、テキスト フラグメントがピリオド (.) で始まる場合、テキストはドット コマンドに一致します。 テキスト フラグメントが感嘆符 (!) で始まる場合、テキストは拡張コマンドと一致します。 それ以外の場合、テキストは記号と一致します。 TAB キーを使用してシンボルを入力すると、Tab キーを押すと、コードと型のシンボルとモジュール名が完成します。 モジュール名が明らかでない場合には、ローカルシンボルとモジュール名が自動的に補完されます。 モジュールまたはモジュール パターンが指定されている場合、すべての一致からコードと型のシンボルに対するシンボル補完が行われます。

デバッガー コマンド ウィンドウで長押し (または右クリック) すると、入力したコマンドにクリップボードの内容を自動的に貼り付けることができます。

コマンドの最大長は 4096 文字です。 ただし、 カーネル デバッガーからユーザー モード デバッガーを制御する場合、最大行長は 512 文字です。

CDB と KD で Enter キーを単独で押して、前のコマンドを繰り返します。 WinDbg では、この動作を有効または無効にすることができます。 この動作の詳細については、 ENTER (最後のコマンドの繰り返し) を参照してください。

最後に発行したコマンドに長い表示が表示され、それを切り取る場合は、CDB または KD で Ctrl + C キーを使用します。 WinDbg で デバッグ | 中断 を使用するか、Ctrl + Break を押します。

カーネル モード デバッグでは、Ctrl キーを押しながら C キーを押すと、ターゲット コンピューターのキーボードからコマンドを取り消すことができます。

.cls (Clear Screen) コマンドを使用すると、デバッガー コマンド ウィンドウからすべてのテキストをクリアできます。 このコマンドは、コマンド履歴全体を消去します。 WinDbg では、[コマンド] リボン タブの [履歴の クリア ] を使用するか、[ コマンド ] ウィンドウのコンテキスト メニュー (右クリック) で [コマンド履歴のクリア ] を選択して、コマンド履歴をクリアできます。

式の構文

多くのコマンドと拡張コマンドは、 引数として式を 受け入れます。 デバッガーは、コマンドを実行する前にこれらの式を評価します。 式の詳細については、「式 の評価」を参照してください。

Aliases

エイリアス は、複雑な語句を再入力する必要を回避するために使用できるテキスト マクロです。 エイリアスには 2 種類あります。 エイリアスの詳細については、「エイリアスの 使用」を参照してください。

自己繰り返しコマンド

次のコマンドを使用して、アクションを繰り返したり、他のコマンドを条件付きで実行したりできます。

各コマンドの詳細については、個々のコマンドのトピックを参照してください。

スクロールの制御

スクロール バーを使用して、前のコマンドとその出力を表示できます。

CDB または KD を使用している場合、キーボード エントリは自動的にデバッガー コマンド ウィンドウを下にスクロールして一番下に戻ります。

WinDbg では、コマンドが出力を生成するか Enter キーを押すと、ディスプレイは自動的に下にスクロールします。 この自動スクロールを無効にする場合は、[コマンド] リボン タブの [自動スクロール ] ボタンをオフにするか、[ コマンド ] ウィンドウを右クリックして [自動スクロール] をオフにします。

WinDbg テキスト機能

WinDbg では、いくつかの追加機能を使用して、 デバッガー コマンド ウィンドウでのテキストの表示方法を変更できます。 これらの機能の一部には、[コマンド] リボン タブと、[ コマンド ] ウィンドウのコンテキスト メニュー (右クリック) からアクセスできます。

  • コンテキスト メニューの [折り返し ] コマンドは、折り返しの状態のオンとオフを切り替えます。 このコマンドは、この状態が変更された後に使用するコマンドだけでなく、ウィンドウ全体に影響します。 多くのコマンドと拡張機能では書式設定された表示が生成されるため、通常はワード ラップはお勧めしません。

  • [コマンド] リボン タブの [選択項目の強調表示] ボタン (またはコンテキスト メニューの強調表示の選択) では、現在のテキスト選択を強調表示または強調表示解除します (Ctrl + Alt + H キー)。

  • [コマンド] リボン タブの [選択項目の消去] ボタン (またはコンテキスト メニューの [選択したテキストを消去] ) では、コマンド履歴から現在選択されているテキストが消去されます。

  • コマンド リボン タブの [前へ移動] (Ctrl + [) と次へ移動 (Ctrl +]) を使用してコマンド セクション間を移動するか、コンテキスト メニューの [前のコマンドを選択] と [次のコマンドを選択] を使用します。

  • デバッガー コマンド ウィンドウのテキストと背景に使用される色をカスタマイズできます。 テキストの種類ごとに異なる色を指定できます。 たとえば、自動レジスタ出力を 1 つの色で表示し、エラー メッセージを別の色で表示し、 DbgPrint メッセージを 3 番目の色で表示できます。

  • フォントのカスタマイズや特別な編集コマンドの使用など、WinDbg のデバッグ情報ウィンドウに共通するすべての機能を使用できます。

リモート デバッグ

デバッガーを使用してリモート デバッグを実行する場合、デバッグ クライアントは限られた数のコマンドにアクセスできます。 クライアントがアクセスできるコマンドの数を変更するには、 -clinesコマンド ライン オプション または _NT_DEBUG_HISTORY_SIZE 環境変数を使用 します