ターゲット コンピューターのクラッシュと再起動

カーネル デバッグを実行すると、.crash (システム クラッシュの強制) コマンドを発行することで、ターゲット コンピューターが応答を停止する (つまり、クラッシュまたはバグのチェック) ことができます。 このコマンドを実行すると、ターゲット コンピューターがすぐに応答を停止します。 クラッシュ ダンプを有効にした場合、デバッガーはカーネル モードのダンプ ファイルを書き込みます。 (これらのファイルの詳細については、「カーネル モード ダンプ ファイルの作成」を参照してください。)

ターゲット コンピューターを再起動するには、.reboot (ターゲット コンピューターの 再起動) コマンドを使用します。

ターゲット コンピューターでクラッシュ ダンプ ファイルを作成してから再起動する場合は、.crash コマンドを発行し、その後に .reboot コマンドを実行する必要があります。 再起動するだけの場合、.crash コマンドは必要ありません。

ブート プロセスの初期段階では、ホスト コンピューターとターゲット コンピューターの間の接続が失われます。 ターゲット コンピューターに関する情報は、デバッガーで使用できません。

接続が切断されると、デバッガーはすべてのシンボル ファイルを閉じ、すべてのデバッガー拡張機能をアンロードします。 この時点で、KD または CDB を実行している場合、すべてのブレークポイントが失われます。 WinDbg では、現在のワークスペースを保存できます。 このアクションにより、すべてのブレークポイントが保存されます。

この時点でデバッグ セッションを終了する場合は、CTRL+B コマンド (KD) を使用するか、[ファイル] メニュー (WinDbg) で [終了] をクリックします。

デバッガーを終了しない場合、十分なブート プロセスが完了した後に接続が再確立されます。 シンボルと拡張機能は、この時点で再読み込みされます。 WinDbg を実行している場合は、カーネル モード ワークスペースが再読み込みされます。

再起動プロセス中に次の 2 つの時点でターゲット コンピューターに自動的に侵入するようにデバッガーに指示できます。

  • 最初のカーネル モジュールがメモリに読み込まれるとき

  • カーネルが初期化されたとき

最初のカーネル モジュールの読み込み時に自動ブレークポイントを設定するには、 -d command-line オプションを使用

デバッガーの実行後に中断状態を変更することもできます。

  • すべての例外やイベントのように、初期モジュールの読み込みとカーネル初期化ブレークポイントを制御します。 これらのイベントが発生したときにデバッガーに中断したり、無視したりできます。 これらのブレークポイントにヒットしたときに、指定したコマンドを自動的に実行するようにすることもできます。 詳細については、「例外とイベントの制御」を参照してください。

  • KD の Ctrl + K ショートカット キー、WinDbg の Ctrl + Alt + K ショートカット キー、および デバッグ | カーネル接続 | 中断状態を変更するには、WinDbg の [最初の中断] コマンドを循環します。 これらのコマンドを使用するたびに、デバッガは 3 つの状態 (自動ブレークなし、カーネル初期化時にブレーク、最初のカーネル モジュールのロード時にブレーク) の間で切り替わります。 このメソッドでは、両方の自動ブレークポイントを同時にアクティブにすることはできません。