KD のコマンドライン オプション
KD の初回ユーザーは、 KD と NTKD を使用したデバッグ セクションから始める必要があります。
KD コマンドラインは次の構文を使用します。
kd [ -server ServerTransport | -remote ClientTransport ]
[-b | -x] [-d] [-bonc] [-m] [-myob] [-lines] [-n] [-r] [-s]
[-v] [-clines lines] [-failinc] [-noio] [-noshell]
[-secure] [-sdce] [-ses] [-sicv] [-sins] [-snc] [-snul]
[-sup] [-sflags 0xNumber] [-log{a|au|o|ou} LogFile]
[-aExtension] [-zp PageFile]
[-i ImagePath] [-y SymbolPath] [-srcpath SourcePath]
[-k ConnectType | -kl | -kqm | -kx ExdiOptions] [-ee {masm|c++}]
[-z DumpFile] [-cf "filename"] [-cfr "filename"] [-c "command"]
[-t PrintErrorLevel] [-version]
kd -iu KeyString
kd -QR Server
kd -wake PID
kd -?
KD コマンドライン オプションの説明は次のとおりです。 -remote オプションと -server オプションでのみ大文字と小文字が区別されます。 最初のハイフンはスラッシュ (/) に置き換えることができます。 追加のパラメーターを受け取らないオプションは連結できるため、 kd -r -n -v は kd -rnv として書き込むことができます。
-remote または -server オプションを使用する場合は、コマンド ラインの他のオプションの前に表示する必要があります。
パラメーター
-server ServerTransport
他のデバッガーからアクセスできるデバッグ サーバーを作成します。 可能な ServerTransport 値の説明については、「デバッグ サーバーのアクティブ化」を参照してください。 このパラメータを使用する場合は、コマンド ラインの最初のパラメータにする必要があります。
-remote ClientTransport
デバッグ クライアントを作成し、既に実行されているデバッグ サーバーに接続します。 可能な ClientTransport 値の説明については、「デバッグ クライアントのアクティブ化」を参照してください。 このパラメーターを使用する場合は、コマンド ラインの最初のパラメーターにする必要があります。
-a 延長
既定の拡張 DLL を設定します。 既定値は kdextx86.dll または kdexts.dll です。 "a" の後にスペースを入れてはいけません。また、.dll ファイル名拡張子を含めてはなりません。 この既定値の詳細と、他の設定方法については、「デバッガー拡張 DLL の読み込み」を参照してください。
-b
このオプションはサポートされなくなりました。
-bonc
このオプションを指定した場合、セッションが開始されるとすぐにデバッガーがターゲットに分割されます。 これは、現在ターゲットに分割されていない可能性があるデバッグ サーバーに接続する場合に特に便利です。
-c "command"
起動時に実行する初期デバッガー コマンドを指定します。 このコマンドは引用符で囲む必要があります。 複数のコマンドはセミコロンで区切ることができます。 (長いコマンド リストがある場合は、スクリプトに配置し、$<、$><、$><、$$>< (スクリプト ファイルの実行) コマンドで -c オプションを使用する方が簡単な場合があります)。
デバッグ クライアントを起動する場合、このコマンドはデバッグ サーバーを対象とする必要があります。 .lsrcpath などのクライアント固有のコマンドは使用できません。
-cf "filename"
スクリプト ファイルのパスと名前を指定します。 このスクリプト ファイルは、デバッガーが開始されるとすぐに実行されます。 filename にスペースが含まれる場合は、引用符で囲む必要があります。 パスを省略すると、現在のディレクトリが想定されます。 -cf オプションを使用しない場合は、現在のディレクトリ内の ntsd.ini ファイルがスクリプト ファイルとして使用されます。 ファイルが存在しない場合、エラーは発生しません。 詳細については「スクリプト ファイルの使用」を参照してください。
-cfr "filename"
スクリプト ファイルのパスと名前を指定します。 このスクリプト ファイルは、デバッガーが開始されるとすぐに実行され、ターゲットが再起動されるたびに実行されます。 filename にスペースが含まれる場合は、引用符で囲む必要があります。 パスを省略すると、現在のディレクトリが想定されます。 ファイルが存在しない場合、エラーは発生しません。 詳細については「スクリプト ファイルの使用」を参照してください。
-clines 台詞
リモート デバッグ中にアクセスできるコマンド履歴内のコマンドの概数を設定します。 詳細およびこの番号を変更するその他の方法については、「デバッガー コマンドの使用」を参照してください。
-d
再起動後、カーネル モジュールがロードされるとすぐに、デバッガはターゲット コンピュータに侵入します。 (この区切りは、-b オプションからの中断より前です)。詳細と、この状態を変更するその他の方法については、「ターゲット コンピューターのクラッシュと再起動」を参照してください。
-ee {masm|c++}
既定の式エバリュエーターを設定します。 masm を指定すると、MASM 式の構文が使用されます。 c++ を指定すると、C++ 式の構文が使用されます。 -ee オプションを省略すると、MASM 式の構文が既定として使用されます。 詳細については、「式の評価」を参照してください。
-failinc
デバッガーが疑わしいシンボルを無視するようにします。 また、ユーザー モードまたはカーネル モードのミニダンプ ファイルをデバッグする場合、このオプションでは、イメージをマップできないモジュールをデバッガーが読み込めなくなります。 詳細およびその他の制御方法については、「SYMOPT_EXACT_SYMBOLS」を参照してください。
-i ImagePath
エラーを生成した実行可能ファイルの場所を指定します。 パスにスペースが含まれる場合は、引用符で囲む必要があります。
-iu KeyString
ユーザーが URL を使用してデバッガー リモート クライアントを自動起動できるように、デバッガーリモート処理を URL の種類として登録します。 KeyString の形式は remdbgeng://RemotingOption
になります。 RemotingOption は、「デバッグ クライアントのアクティブ化」に関するトピックで定義されているトランスポート プロトコルを定義する文字列です。 このアクションが成功した場合、メッセージは表示されません。失敗した場合は、エラー メッセージが表示されます。
-iu パラメーターは、他のパラメーターと共に使用しないでください。 このコマンドは実際には KD を開始しません。
-k ConnectType
ターゲットに接続する方法をデバッガーに指示します。 詳細については、 KD と NTKD を使用したデバッグ を参照してください。
-kl
デバッガーと同じマシン上でカーネル デバッグ セッションを開始します。
-kqm
KD を静音モードで起動します。
-kx ExdiOptions
EXDI ドライバーを使用してカーネル デバッグ セッションを開始します。 EXDI ドライバーについては、このドキュメントでは説明しません。 ハードウェア プローブまたはハードウェア シミュレーターへの EXDI インターフェイスがある場合は、デバッグ情報について Microsoft にお問い合わせください。
行
ソース行のデバッグを有効にします。 このオプションを省略した場合、ソース デバッグを許可する前に、.lines (ソース行のサポートの切り替え) コマンドを使用する必要があります。 これを制御するその他の方法については、「SYMOPT_LOAD_LINES」を参照してください。
-log{a|au|o|ou} LogFile
ログ ファイルへの情報の記録を開始します。 LogFile が既に存在する場合は、 -logo が使用されている場合は上書きされ、 -loga が使用されている場合は出力がファイルに追加されます。 -logau オプションと -logou オプションはそれぞれ -loga および -logo に似ていますが、ログ ファイルが Unicode ファイルである点が異なります。 詳細については、「KD にログ ファイルを保存する」を参照してください。
-m
シリアル ポートがモデムに接続されていることを示します。 キャリア検出信号を監視するようにデバッガーに指示します。
-myob
dbghelp.dll とバージョンが一致しない場合、デバッガーは引き続き実行されます。 ( -myob スイッチがないと、これは致命的なエラーと見なされます)。
このオプションの 2 つ目の効果は、ターゲット コンピューターに侵入したときに通常表示される警告が抑制されていることです。
-n
ノイズ シンボルの読み込み: シンボル ハンドラーからの詳細な出力を有効にします。 詳細およびその他の制御方法については、SYMOPT_DEBUG を参照してください。
-noio
デバッグ サーバーが入力または出力に使用されないようにします。 入力はデバッグ クライアント (および -c コマンド ライン オプションで指定された初期コマンドまたはコマンド スクリプト) からのみ受け入れられます。
すべての出力はデバッグ・クライアントに向けられます。 詳細については、 デバッグ サーバーのアクティブ化 を参照してください。
-noshell
すべての .shell コマンドを禁止します。 この禁止は、新しいデバッグ セッションが開始された場合でも、デバッガーが実行されている限り続きます。 シェル コマンドを無効にするその他の方法の詳細については、「シェル コマンドの使用」を参照してください。
-QR サーバー
指定したネットワーク サーバーで実行されているすべてのデバッグ サーバーを一覧表示します。 サーバーの前の二重円記号 (\\) は省略可能です。 詳細については、「 デバッグ サーバー の検索」を参照してください。
-QR パラメーターは、他のパラメーターと共に使用しないでください。 このコマンドは実際には KD を開始しません。
-r
レジスタを表示します。
-s
遅延シンボル読み込みを無効にします。 これにより、プロセスの起動が遅くなります。 詳細およびその他の制御方法については、「SYMOPT_DEFERRED_LOADS」を参照してください。
-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 PrintErrorLevel
デバッガーにエラー メッセージを表示させるエラー レベルを指定します。 これは、0、1、2、または 3 に等しい 10 進数です。 次のように値を記述します。
Value | 定数 | 意味 |
---|---|---|
0 |
NONE |
エラーを表示しません。 |
1 |
ERROR |
ERROR レベルのデバッグ イベントを表示します。 |
2 |
MINORERROR |
MINORERROR および ERROR レベルのデバッグ イベントを表示します。 |
3 |
警告 |
WARNING、MINORERROR、および ERROR レベルのデバッグ イベントを表示します。 |
このエラー レベルは、Microsoft Windows のチェックビルドでのみ意味を持ちます。 既定値は 1です。 チェック ビルドは、Windows 10 バージョン 1803 以前の古いバージョンの Windows で使用することができました。
-v
ロード、遅延ロード、アンロードに関する詳細メッセージを生成します。
-version
デバッガーのバージョン文字列を出力します。
ウェイク PID
プロセス ID が PID で指定されているユーザー モード デバッガーのスリープ モードを終了させます。 このコマンドは、スリープ モード中にターゲット コンピューターで発行する必要があります。 詳細については、「カーネル デバッガー からのユーザーモード デバッガーの制御」を参照してください。
-wake パラメーターは、他のパラメーターと共に使用しないでください。 このコマンドは実際には KD を開始しません。
-x
例外の原因となったアプリケーションまたはモジュールが例外を処理するのではなく、例外が最初に発生したときにデバッガーが中断します。 (最初の eb nt!NtGlobalFlag 9;gコマンドを除いて -b と同じです。)
-y SymbolPath
シンボルの検索パスを指定します。 複数のパスはセミコロン (;) で区切ります。 パスにスペースが含まれる場合は、引用符で囲む必要があります。 詳細およびこのパスを変更する他の方法については、「シンボル パス」を参照してください。
-z ダンプファイル
デバッグするクラッシュ ダンプ ファイルの名前を指定します。 パスとファイル名にスペースが含まれる場合は、引用符で囲む必要があります。 複数の -z オプションを含め、その後にそれぞれ異なる DumpFile 値を追加することで、複数のダンプ ファイルを一度に開く可能性があります。 詳細については KD を使用したカーネル モード ダンプ ファイルの分析 を参照してください
-zp PageFile
変更されたページ ファイルの名前を指定します。 これは、ダンプ ファイルをデバッグしていて、.pagein (Page In Memory) コマンドを使用する場合に便利です。 標準の Windows ページ ファイルで -zp を使用することはできません。特別に変更されたページ ファイルのみを使用できます。
-?
コマンドラインのヘルプテキストを表示します。
KD は、ターゲットが実行されているプラットフォームを自動的に検出します。 KDコマンド行でターゲットを指定する必要はありません。 古い構文 (I386KD または IA64KD という名前を使用) は廃止されています。