2012-11-22 10 views
7

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

私のブレークポイントの1つがヒットした場合、システムは停止しています。私はミニダンプを作成したい(スタックのみと言う)。このためのWinDbgキーワードはありますか?それはあなたのブレークポイントにヒットしたときに、事前

答えて

9

にあなたがそうのようにミニダンプを書くことができ

ありがとう:

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

これはあなたの関数にブレークポイントを追加して、引用符でコマンドを実行し、この意志ますほとんどのフラグを持つミニダンプを作成し、次に続行します。

bp構文の.dumphere詳細はhereを参照してください。

ユーザまたはカーネルモードで完全なメモリをダンプするには、次の

.dump /f 

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

あなたはエラーが出た場合:\ユーザーをパブリック\ディレクトリ\:

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

をCにファイルを書き込みしてみてください。 .dumpは、カーネルメモリダンプを作成できません

.dump /f c:\users\public\myDump.dmp 
+0

私はすでにブレークポイントにいるとしましょう。私が正しく理解していれば、コマンドは '.dump/ma c:\ myDump.dmp'です。 – valdo

+0

@valdo yes正しいです。 – EdChum

+0

.dumpコマンドのwindbgヘルプファイルから:完全なメモリダンプを生成するには、カーネルモードで/ fオプションを使用します。小さなメモリダンプを生成するには、/ mオプション(またはオプションなし)を使用します。 .dumpコマンドはカーネルメモリダンプを生成できません。だから多分 '.dump/mc:\ myDump.dmp'(' m'オプションのあとに 'a'オプションなし?) –

2

注、唯一の完全なまたは小さなメモリー(/ Fまたは/ m)のダンプ。カーネルメモリダンプを取得するには、コントロールパネルを使用してダンプファイルの書き込みを有効にし、デバッガで.crashを使用してクラッシュをトリガし、ダンプファイルを書き込む必要があります。

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

関連する問題