SysinternalsユーティリティのLiveKdを使用すると、システムをデバッグモードで起動することなく、カーネルデバッガーを使用して運用中のシステムのスナップショットを調査することができます。この機能は、デバッグモードで起動していないシステムでカーネルレベルのトラブルシューティングが必要な際に有効です。

 ある問題を再現することが難しいとき、システムを再起動するとさらに再現が困難になるかもしれません。そのうえ、デバッグモードでコンピューターを起動すると、いくつかのサブシステムの挙動が変わり、さらに解析を難しくします。LiveKdは、デバッグモードを有効化して起動する必要がないことに加えて、ローカルのカーネルデバッグでは通常不可能な、完全メモリダンプの作成などの操作の実行を、マイクロソフトのカーネルデバッガーで可能にします。

 LiveKdは、ローカルシステムの調査に加えて、Hyper-Vホストからの仮想マシンゲストのデバッグをサポートします。このモードでは、デバッガーを仮想マシンのゲストOSではなく、Hyper-Vホスト上で実行します。対象の仮想マシンに何らかのファイルをコピーしたり、仮想マシンを何らかの方法で構成したりする必要は一切ありません。

カーネルメモリのスナップショットダンプを作成

 LiveKdは、カーネルメモリのスナップショットダンプファイルを作成します。このスナップショットの作成中にカーネルが実際に停止することはありません。LiveKdは、このシミュレートされたダンプファイルを指定したカーネルデバッガーに提供します。あとはデバッガーを使用して、通常のダンプファイルに対してするのと同じように、任意の操作を運用中のカーネルメモリのスナップショットに対して実行できます。

 LiveKdは物理メモリのページからシミュレートされたダンプを作成します。そのため、デバッガーは、データ構造がシステムによって変更されている最中で、一貫性のない場面に出くわすかもしれません。

 LiveKdは、デバッガーを起動するごとに、システム状態の最新のビューを提供します。スナップショットをリフレッシュしたい場合は、デバッガーを終了してください(qコマンドを使用)。デバッガーを終了すると、LiveKdがデバッガーをもう一度開始するかどうかを尋ねてきます。

 デバッガーの出力表示がループに入ってしまった場合は、Ctrl+Cキーを押して出力を停止し、デバッガーを終了して、もう一度デバッガーに戻ります。デバッガーがハング状態になった場合は、Ctrl+Breakキーを押します。LiveKdはデバッガーのプロセスを強制終了し、デバッガーをもう一度開始するかどうかを尋ねてきます。