2017-07-14 10 views
0

WinDbgを使用して、特定のプログラムをロードしているときに発生するカーネルコールをデバッグしようとしています。カーネルモードコード内にエラーが発生しました。カーネル関数は、マシン上で実行されている多くのプロセスで毎秒何回も発生する非常に一般的な呼び出しです。したがって、カーネル呼び出しをデバッグするためにカーネル呼び出しをどのように分離しますか?たとえば、nt!NtCreateSectionまたはntdll!RtlEnterCriticalSectionにブレークポイントを置くと、WinDbgは何度も壊れてしまい、OSに行くことができず、問題のプログラムを起動することもできません。これらの関数は、デバッグしようとしているターゲットプログラムではなく、メモリ内の他のすべてのプログラムが使用しています。この問題に対処するための方法を指定して、この問題のカーネル呼び出しやその他の解決策の特定のインスタンスを対象にしてください。WinDbgを使用してプログラムのカーネル呼び出しをどのように分離しますか?

答えて

2

sxe ldあなたのモジュール。
あなたのモジュールを壊したら、
あなたのモジュール!process 0でeprocessを見つけてください。
プロセス固有のブレークポイントを
とbp/pプロセス記号のように設定します。

またはハードパッチ0xccを使用して、モジュールのエントリポイントと続くそこから

あなたも

あなたもでシンボルのロードを強制することができ、あなたのモジュール-dリダイレクト使っNTSDでそれをデバッグすることができます!GFLAGS +必要に応じてksl

関連する問題