WinDbgを使用して、Windows用のカーネルモードデバイスドライバーをデバッグしています。ミニダンプをオンデマンドで作成することは可能ですか?
つまり、ブレークポイントの1つがヒットし、システムが停止します。ミニダンプを作成したい(スタックのみとしましょう)。このためのWinDbgキーワードはありますか?
前もって感謝します
ブレークポイントに到達したときに、次のようにミニダンプを作成できます。
bp myDLL!myFunc ".dump /ma c:\myDump.dmp;g"
これにより、関数にブレークポイントが追加され、引用符で囲まれたコマンドが実行されます。これにより、ほとんどのフラグを含むミニダンプが書き込まれ、続行されます。
構文の詳細については、ここを参照してください。.dump
bp
ユーザーモードまたはカーネルモードでメモリ全体をダンプするには、次の手順に従います。
.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
.dumpはカーネルメモリダンプを作成できず、完全またはスモールメモリダンプ(/fまたは/m)のみを作成することに注意してください。カーネルメモリダンプを取得するには、コントロールパネルを使用してダンプファイルの書き込みを有効にし、デバッガーで.crashを使用してクラッシュをトリガーし、ダンプファイルを書き込む必要があります。
「カーネルモードダンプファイルの作成」へのリンクなど、.crashの使用方法の詳細については、windbgヘルプを参照してください。