事後デバッグの実行中に、カーネル ダンプ内の特定のプロセスのユーザー モードに切り替える方法はありますか?
.process コマンドを使用してライブ デバッグ中にこれを行ったことを覚えています。
.process
カーネルダンプでも機能します。まず、次を使用してプロセスを見つけることができます
!process 0 0 myprocess.exe
次に、を使用してそのプロセスに切り替えます
.process <address>
<address>はPROCESSの後の 16 進数です。
まだカーネル デバッグ中であり、そのプロセスの物理メモリ (別名ワーキング セット) しか利用できないことに注意してください。仮想アドレス空間の大部分はおそらくディスクにスワップされており、ユーザー モードの場合のようにそのプロセスを分析することはできません (特に、完全な .NET ヒープが必要な .NET プログラムの場合)。
プロセス ID を検索
!process 0 0 process.exe
ProcessID を使用して ThreadID を見つける
!process <ProcessID>
スレッドに切り替える
.thread /p /r <ThreadID>
これに関する問題と、ライブ ダンプ デバッグ シナリオとクラッシュ ダンプ デバッグ シナリオの両方でそれを行うための最良の方法について説明する記事があります。