9

WinDbgを使用して、Windows用のカーネルモードデバイスドライバーをデバッグしています。ミニダンプをオンデマンドで作成することは可能ですか?

つまり、ブレークポイントの1つがヒットし、システムが停止します。ミニダンプを作成したい(スタックのみとしましょう)。このためのWinDbgキーワードはありますか?

前もって感謝します

4

2 に答える 2

13

ブレークポイントに到達したときに、次のようにミニダンプを作成できます。

bp myDLL!myFunc ".dump /ma c:\myDump.dmp;g"

これにより、関数にブレークポイントが追加され、引用符で囲まれたコマンドが実行されます。これにより、ほとんどのフラグを含むミニダンプが書き込まれ、続行されます。

構文の詳細については、ここを参照してください。.dumpbp

ユーザーモードまたはカーネルモードでメモリ全体をダンプするには、次の手順に従います。

.dump /f

しかし、/maスイッチは実際にはユーザーモードのためにより多くの情報を入れます。

エラーが発生した場合:

Unable to create file 'c:\myDump.dmp' - Win32 error 0n5
    "Access is denied."

ファイルをc:\ users \public\ディレクトリに書き込んでみてください。

.dump /f c:\users\public\myDump.dmp
于 2012-11-22T21:18:56.567 に答える
2

.dumpはカーネルメモリダンプを作成できず、完全またはスモールメモリダンプ(/fまたは/m)のみを作成することに注意してください。カーネルメモリダンプを取得するには、コントロールパネルを使用してダンプファイルの書き込みを有効にし、デバッガーで.crashを使用してクラッシュをトリガーし、ダンプファイルを書き込む必要があります。

「カーネルモードダンプファイルの作成」へのリンクなど、.crashの使用方法の詳細については、windbgヘルプを参照してください。

于 2014-04-23T15:45:20.340 に答える