WinDbg のコマンドライン オプション
WinDbg の初回ユーザーは、「WinDbg を使用したデバッグ (クラシック)」セクションから始める必要があります。
WinDbg コマンド ラインでは、次の構文を使用します。
windbg [ -server ServerTransport | -remote ClientTransport ] [-lsrcpath ]
[ -premote SmartClientTransport ] [-?] [-ee {masm|c++}]
[-clines lines] [-b] [-d] [-aExtension]
[-failinc] [-g] [-G] [-hd] [-j] [-n] [-noshell] [-o] [-openPrivateDumpByHandle Handle]
[-Q | -QY] [-QS | -QSY] [-robp] [-secure] [-ses] [-sdce]
[-sicv] [-sins] [-snc] [-snul] [-sup] [-sflags 0xNumber]
[-T Title] [-v] [-log{o|a} LogFile] [-noinh]
[-i ImagePath] [-y SymbolPath] [-srcpath SourcePath]
[-k [ConnectType] | -kl | -kx ExdiOptions] [-c "command"]
[-pb] [-pd] [-pe] [-pr] [-pt Seconds] [-pv]
[-W Workspace] [-WF Filename] [-WX] [-zp PageFile]
[ -p PID | -pn Name | -psn ServiceName | -z DumpFile | executable ]
windbg -I[S]
windbg -IU KeyString
windbg -IA[S]
WinDbg コマンド ライン オプションの説明は次のとおりです。 -j を除き、すべてのコマンド ライン オプションで大文字と小文字が区別されます。 最初のハイフンはスラッシュ (/) に置き換えることができます。
-remote または -server オプションを使用する場合は、コマンド ラインの他のオプションの前に表示する必要があります。 実行可能ファイルを指定する場合は、コマンド ラインの最後に表示する必要があります。実行可能ファイル名の後のテキストは、独自のコマンド ライン パラメーターとして実行可能プログラムに渡されます。
パラメーター
-server ServerTransport
他のデバッガーからアクセスできるデバッグ サーバーを作成します。 使用可能な ServerTransport 値の説明については、「デバッグ サーバーのアクティブ化」を参照してください。 このパラメーターを使用する場合は、コマンド ラインの最初のパラメーターにする必要があります。
-remote ClientTransport
デバッグ クライアントを作成し、既に実行されているデバッグ サーバーに接続します。 可能な ClientTransport 値の説明については、「デバッグ クライアントのアクティブ化」を参照してください。 このパラメーターを使用する場合は、コマンド ラインの最初のパラメーターにする必要があります。
-premote SmartClientTransport
スマート クライアントを作成し、すでに実行されているプロセス サーバーに接続します。 可能な SmartClientTransport 値の説明については、「スマート クライアントのアクティブ化」を参照してください。
-a 延長
既定の拡張 DLL を設定します。 既定値は kdextx86.dll または kdexts.dll です。 "a" の後にスペースを入れてはいけません。また、.dll ファイル名拡張子を含めてはなりません。 この既定値の詳細と、他の設定方法については、「デバッガー拡張 DLL の読み込み」を参照してください。
-b
このオプションは現在サポートされていません。
-c " command "
起動時に実行する初期デバッガー コマンドを指定します。 このコマンドは引用符で囲む必要があります。 複数のコマンドはセミコロンで区切ることができます。 (長いコマンド リストがある場合は、スクリプトに配置し、$<、$><、$><、$$>< (スクリプト ファイルの実行) コマンドで -c オプションを使用する方が簡単な場合があります)。
デバッグ クライアントを起動する場合、このコマンドはデバッグ サーバーを対象とする必要があります。 .lsrcpath などのクライアント固有のコマンドは使用できません。
-clines 台詞
リモート デバッグ中にアクセスできるコマンド履歴内のコマンドの概数を設定します。 詳細およびこの番号を変更するその他の方法については、「デバッガー コマンドの使用」を参照してください。
-d
(カーネル モードのみ) 再起動後、カーネル モジュールがロードされるとすぐに、デバッガはターゲット コンピューターに侵入します。 (この区切りは、-b オプションからの中断より前です)。詳細と、この状態を変更するその他の方法については、「ターゲット コンピューターのクラッシュと再起動」を参照してください。
-ee {masm|c++}
既定の式エバリュエーターを設定します。 masm を指定すると、MASM 式の構文が使用されます。 c++ を指定すると、C++ 式の構文が使用されます。 -ee オプションを省略すると、MASM 式の構文が既定として使用されます。 詳細については、「式の評価」を参照してください。
-failinc
デバッガーが疑わしいシンボルを無視するようにします。 また、ユーザー モードまたはカーネル モードのミニダンプ ファイルをデバッグする場合、このオプションでは、イメージをマップできないモジュールをデバッガーが読み込めなくなります。 詳細およびその他の制御方法については、「SYMOPT_EXACT_SYMBOLS」を参照してください。
-g
(ユーザー モードのみ) ターゲット アプリケーションの初期ブレークポイントを無視します。 このオプションを使用すると、別のブレークポイントが設定されていない限り、ターゲット アプリケーションの起動後、または WinDbg のアタッチ後もターゲット アプリケーションが実行を継続します。 詳細については、「初期ブレークポイント」を参照してください。
-G
(ユーザー モードのみ) プロセス終了時の最終的なブレークポイントを無視します。 通常、デバッグ セッションはイメージのランダウン プロセス中に終了します。 このオプションを使用すると、子が終了するとデバッグ セッションがただちに終了します。 これは、コマンド sxd epr を入力する場合と同じ効果があります。 詳細については、「例外とイベントの制御」を参照してください。
-hd
(ユーザー モードのみ) デバッグ ヒープを使用しないよう指定します。
-I[S]
事後分析デバッガーとして WinDbg をインストールします。 詳細については、「事後デバッグの有効化」を参照してください。
このアクションが試行されると、成功または失敗のメッセージが表示されます。 S が含まれている場合、この手順は成功した場合はサイレントで実行され、エラー メッセージのみが表示されます。
-I パラメーターは、他のパラメーターと共に使用しないでください。 このコマンドは実際には WinDbg を起動しませんが、WinDbg ウィンドウがしばらく表示される場合があります。
-IA[S]
WinDbg を、レジストリ内の .dmp、.mdmp、および .wew ファイル拡張子に関連付けます。 このアクションが試行されると、成功または失敗のメッセージが表示されます。 S が含まれている場合、この手順は成功した場合はサイレントで実行され、エラー メッセージのみが表示されます。 この関連付けが行われた後、これらの拡張子のいずれかを持つファイルを選択して保持 (または右クリック) すると、WinDbg が起動します。
-IA パラメーターは、他のパラメーターと共に使用しないでください。 このコマンドは実際には WinDbg を起動しませんが、WinDbg ウィンドウがしばらく表示される場合があります。
-IU KeyString
ユーザーが URL を使用してデバッガー リモート クライアントを自動起動できるように、デバッガーリモート処理を URL の種類として登録します。 KeyString の形式は remdbgeng://RemotingOption
になります。 RemotingOption は、「デバッグ クライアントのアクティブ化」に関するトピックで定義されているトランスポート プロトコルを定義する文字列です。 このアクションが成功した場合、メッセージは表示されません。失敗した場合は、エラー メッセージが表示されます。
-IU パラメーターは、他のパラメーターと共に使用しないでください。 WinDbg ウィンドウが一瞬表示されることがありますが、このコマンドは実際に WinDbg を起動しません。
-i ImagePath
エラーを生成した実行可能ファイルの場所を指定します。 パスにスペースが含まれる場合は、引用符で囲む必要があります。
-j
ジャーナリングを許可します。
-k [ConnectType]
(カーネル モードのみ) カーネル デバッグ セッションを開始します。 詳細については、「WinDbg (クラシック) を使用したライブ カーネル モード デバッグ」を参照してください。) ConnectType オプションを指定せずに -k を使用した場合、これをコマンド ラインの最後のエントリにする必要があります。
-kl
(カーネル モードのみ) デバッガーと同じマシン上でカーネル デバッグ セッションを開始します。
-kx ExdiOptions
(カーネル モードのみ) EXDI ドライバーを使用してカーネル デバッグ セッションを開始します。 EXDI の詳細については、「EXDI デバッガー トランスポートの構成」を参照してください。
-log{o|a} LogFile
ログ ファイルへの情報の記録を開始します。 指定したログファイルがすでに存在する場合は、-logo が使用されている場合に上書きされます。 loga を使用すると、出力がファイルに追加されます。 詳細については、「WinDbg でのログ ファイルの保持」を参照してください。
-lsrcpath
リモート クライアントのローカル ソース パスを設定します。 このオプションは、コマンド ラインで -remote に従う必要があります。
-n
ノイズ シンボルの読み込み: シンボル ハンドラーからの詳細な出力を有効にします。 詳細およびその他の制御方法については、SYMOPT_DEBUG を参照してください。
-noinh
(ユーザー モードのみ) デバッガーによって作成されたプロセスがデバッガーからハンドルを継承できないようにします。 これを制御する他の方法については、「WinDbg を使用したユーザー モード プロセスのデバッグ」を参照してください。
-noprio
優先度の変更を防止します。 このパラメーターにより、アクティブな間に WinDbg が CPU 時間の優先度を設定できなくなります。
-noshell
すべての .shell コマンドを禁止します。 この禁止は、新しいデバッグ セッションが開始された場合でも、デバッガーが実行されている限り続きます。 シェル コマンドを無効にするその他の方法の詳細については、「シェル コマンドの使用」を参照してください。
-o
(ユーザー モードのみ) ターゲット アプリケーションによって起動されたすべてのプロセス (子プロセス) をデバッグします。 既定では、デバッグしているプロセスによって作成されたプロセスは、通常どおりに実行されます。
-openPrivateDumpByHandle ハンドル
デバッグするクラッシュ ダンプ ファイルのハンドルを指定します。
-p PID
デバッグする 10 進数のプロセス ID を指定します。 これは、すでに実行中のプロセスをデバッグするために使用されます。
-pb
(ユーザー モードのみ) ターゲット プロセスにアタッチするときにデバッガーが最初のブレークインを要求できないようにします。 これは、アプリケーションが既に中断されている場合や、ターゲットにブレークイン スレッドを作成しないようにする場合に便利です。
-pd
(ユーザー モードのみ) デバッグ セッションの終了時にターゲット アプリケーションが終了しないようにします。 詳細については、「WinDbg (クラシック) でのデバッグ セッションの終了」を参照してください。
-pe
(ユーザー モードのみ) ターゲット アプリケーションが既にデバッグ中であることを示します。 詳細については、ターゲット アプリケーションへの再アタッチを参照してください。
-pn 名前
デバッグするプロセスの名前を指定します。 (この名前は一意である必要があります) これは、既に実行されているプロセスをデバッグするために使用されます。
-pr
(ユーザー モードのみ) デバッガーがアタッチされたときに、実行中のターゲット プロセスを開始します。 これは、アプリケーションが既に中断されていて、実行を再開したい場合に便利です。
-psn ServiceName
デバッグするプロセスに含まれるサービスの名前を指定します。 これは、すでに実行中のプロセスをデバッグするために使用されます。
-pt お代わり
ブレーク タイムアウトを秒単位で指定します。 既定値は 30 です。 詳細については、「ターゲットの制御」を参照してください。
-pv
(ユーザー モードのみ) デバッガーがターゲット プロセスに非侵襲的に接続することを指定します。 詳細については、「非侵入デバッグ (ユーザー モード)」を参照してください。
-Q
[ワークスペースの保存] ダイアログ ボックスを非表示にします。 ワークスペースは自動的には保存されません。 詳細については、「ワークスペースの使用 - WinDbg (クラシック)」を参照してください。
-QS
[ソースの再読み込み] ダイアログ ボックスを非表示にします。 ソース ファイルは自動的に再読み込みされません。
-QSY
[ソースの再読み込み] ダイアログ ボックスを非表示にし、ソース ファイルを自動的に再読み込みします。
-QY
[ワークスペースの保存] ダイアログ ボックスを非表示にし、ワークスペースを自動的に保存します。 詳細については、「ワークスペースの使用 - WinDbg (クラシック)」を参照してください。
-robp
これにより、CDB は読み取り専用メモリ ページにブレークポイントを設定できます。 (既定では、このような操作は失敗します)。
-sdce
シンボルのロード中にデバッガーに「ファイル アクセス エラー」メッセージが表示されます。 詳細およびその他の制御方法については、SYMOPT_FAIL_CRITICAL_ERRORS を参照してください。
-secure
セキュア モードをアクティブにします。
-ses
デバッガーがすべてのシンボル ファイルを厳密に評価し、疑わしいシンボルを無視するようにします。 詳細およびその他の制御方法については、「SYMOPT_EXACT_SYMBOLS」を参照してください。
-sflags 0x 数
すべてのシンボル ハンドラー オプションを一度に設定します。 数値は 0x で始まる 16 進数にする必要があります。0x を含まない 10 進数は許可されますが、シンボル オプションはバイナリ フラグであるため、16 進数をお勧めします。 このオプションは、すべてのシンボル ハンドラーの既定値をオーバーライドするため、注意して使用する必要があります。 詳細については、「シンボル オプションの設定」を参照してください。
-sicv
シンボル ハンドラーが CV レコードを無視するようにします。 詳細およびその他の制御方法については、SYMOPT_IGNORE_CVREC を参照してください。
罪
デバッガーがシンボル パスと実行可能イメージ パスの環境変数を無視するようにします。 詳細については、「SYMOPT_IGNORE_NT_SYMPATH」を参照してください。
-snc
デバッガーが C++ 変換をオフにします。 詳細およびその他の制御方法については、「SYMOPT_NO_CPP」を参照してください。
-snul
修飾されていない名前の自動シンボル読み込みを無効にします。 詳細およびその他の制御方法については、「SYMOPT_NO_UNQUALIFIED_LOADS」を参照してください。
-srcpath SourcePath
ファイルの検索パスを指定します。 複数のパスはセミコロン (;) で区切ります。 パスにスペースが含まれる場合は、引用符で囲む必要があります。 このパスを変更する方法の詳細については、「ソース パス」を参照してください。
-sup
シンボル ハンドラーが、シンボル検索のたびにパブリック シンボル テーブルを検索するようにします。 詳細およびその他の制御方法については、「SYMOPT_AUTO_PUBLICS」を参照してください。
-T タイトル
WinDbg ウィンドウのタイトルを設定します。
-v
デバッガーからの詳細出力を有効にします。
-W ワークスペース
指定された名前付きワークスペースを読み込みます。 ワークスペース名にスペースが含まれる場合は、引用符で囲みます。 この名前のワークスペースが存在しない場合は、この名前で新しいワークスペースを作成するか、読み込みの試行を中止するかを選択するオプションが表示されます。 詳細については、「ワークスペースの使用 - WinDbg (クラシック)」を参照してください。
-WF ファイル名
指定されたファイルからワークスペースを読み込みます。 Filename には、ファイルと拡張子 (通常は .wew) を含める必要があります。 ワークスペース名にスペースが含まれる場合は、引用符で囲みます。 この名前のワークスペース ファイルが存在しない場合は、この名前で新しいワークスペース ファイルを作成するか、ロードの試行を中止するかを選択するオプションが表示されます。 詳細については、「ワークスペースの使用 - WinDbg (クラシック)」を参照してください。
-WX
ワークスペースの自動読み込みを無効にします。 詳細については、「ワークスペースの使用 - WinDbg (クラシック)」を参照してください。
-y SymbolPath
シンボルの検索パスを指定します。 複数のパスはセミコロン (;) で区切ります。 パスにスペースが含まれる場合は、引用符で囲む必要があります。 詳細およびこのパスを変更する他の方法については、「シンボル パス」を参照してください。
-z ダンプファイル
デバッグするクラッシュ ダンプ ファイルの名前を指定します。 パスとファイル名にスペースが含まれる場合は、引用符で囲む必要があります。 複数の -z オプションを含め、その後にそれぞれ異なる DumpFile 値を追加することで、複数のダンプ ファイルを一度に開く可能性があります。 詳細については、「ユーザー モード ダンプ ファイルの分析」または「WinDbg を使用したカーネル モード ダンプ ファイルの分析」を参照してください。
-zp PageFile
変更されたページ ファイルの名前を指定します。 これは、ダンプ ファイルをデバッグしていて、.pagein (Page In Memory) コマンドを使用する場合に便利です。 標準の Windows ページ ファイルで -zp を使用することはできません。特別に変更されたページ ファイルのみを使用できます。
executable
実行可能プロセスのコマンド ラインを指定します。 これは、新しいプロセスを起動してデバッグするために使用されます。 これは、コマンド ラインの最後の項目である必要があります。 実行可能ファイル名の後のすべてのテキストは、その引数文字列として実行可能ファイルに渡されます。 詳細については、「WinDbg を使用したユーザー モード プロセスのデバッグ」を参照してください。
-?
この HTML ヘルプ ウィンドウが表示されます。
コマンド ラインからデバッガーを実行する場合は、アプリケーションのファイル名の後にターゲット アプリケーションの引数を指定します。 次に例を示します。
windbg myexe arg1 arg2