7

MiniDumpWriteDump現在、MiniDumpNormal | MiniDumpWithIndirectlyReferencedMemoryフラグを使用して呼び出します。これは、デバッグ構成の内部ビルドでは問題なく機能しますが、リリース構成で必要なほど多くの情報を提供していません。

Release では、ミニダンプ データには、デバッガーがコード内のどこでエラーが発生したかを判断するのに十分なスタック情報が含まれていますが、他のデータは含まれていません。リリース ビルドで期待されるように、最適化されたためにローカル変数が欠落していると単純に言っているのではありません。コール スタックと現在のコード行以外に役立つものは何もありません。レジスタも、ローカルも、グローバルも、ローカルが指すオブジェクトもありません - 何もありません。現在のオブジェクトを表示できるようにする「this」も取得しません。それが使用のポイントでしたMiniDumpWithIndirectlyReferencedMemory-ローカル変数とスタック変数によって参照されるメモリを含める必要がありましたが、そうではないようです。

代わりにどのフラグを使用する必要がありますか? 600MB 以上のダンプを使用して生成を開始したくはありませんMiniDumpWithFullMemoryが、より有用なデータを取得することを意味する場合は、現在取得している 90KB をいくらか超えてダンプを喜んで拡張します。おそらく、MiniDumpWithDataSegments(グローバル)または...を使用する必要がありますか?

4

1 に答える 1

0

WinDbg は、次のフラグを使用します.dump /ma

0:003> .dumpdebug
----- User Mini Dump Analysis

MINIDUMP_HEADER:
Version         A793 (62F0)
NumberOfStreams 13
Flags           41826
                0002 MiniDumpWithFullMemory
                0004 MiniDumpWithHandleData
                0020 MiniDumpWithUnloadedModules
                0800 MiniDumpWithFullMemoryInfo
                1000 MiniDumpWithThreadInfo
                40000 MiniDumpWithTokenInformation

に置き換えることをお勧めしMiniDumpWithFullMemoryますMiniDumpWithIndirectlyReferencedMemory

于 2015-10-14T22:40:36.453 に答える