12

アプリでミニ ダンプを作成して、未処理の例外をデバッグできるようにしたいと考えています。

必要なミニ ダンプの種類は、ダンプが作成されるまでわからない場合があります。可能な限り完全なダンプを作成するには、 MINIDUMP_TYPEフラグのどの組み合わせを使用すればよいでしょうか?

4

2 に答える 2

13

DebugInfo.com リンク (David に感謝) と MSDN ページの助けを借りて、次のリストを思いつきました。すべてのフラグが DebugInfo.com リンクでカバーされているわけではありません。

これらのフラグを使用すると、包括的で大きなミニ ダンプが作成されます。

含む:

MiniDumpWithFullMemory                  -       the contents of every readable page in the process address space is included in the dump.      
MiniDumpWithHandleData                  -       includes info about all handles in the process handle table. 
MiniDumpWithThreadInfo                  -       includes thread times, start address and affinity. 
MiniDumpWithProcessThreadData           -       includes contents of process and thread environment blocks. 
MiniDumpWithFullMemoryInfo              -       includes info on virtual memory layout. 
MiniDumpWithUnloadedModules             -       includes info from recently unloaded modules if supported by OS. 
MiniDumpWithFullAuxiliaryState           -       requests that aux data providers include their state in the dump. 
MiniDumpIgnoreInaccessibleMemory        -       ignore memory read failures. 
MiniDumpWithTokenInformation            -       includes security token related data.

除外:

MiniDumpNormal                          -       value is 0 so always implicitly present, unless excluded by a callback (which I won't be doing).
MiniDumpWithPrivateReadWriteMemory      -       excludes contents of shared memory. 
MiniDumpWithIndirectlyReferencedMemory  -       includes memory pages referenced by pointers on the stack, but assuming MiniDumpWithFullMemory already includes all pages in the process address space anyway.
MiniDumpWithDataSegs                    -       contents of writable data sections are already included by specifying MiniDumpWithFullMemory
MiniDumpWithCodeSegs                    -       assuming MiniDumpWithFullMemory includes this. 
MiniDumpWihtoutOptionalData             -       suppresses all memory operations other that MiniDumpNormal. 
MiniDumpFilterMemory                    -       filters out contents of stack memory (also has no effect if MiniDumpWithFullMemory used).
MiniDumpFilterModulePaths               -       removes module paths from the dump. 
MiniDumpScanMemory                      -       used to exclude memory for specific modules via callbacks. 
MiniDumpWithPrivateWriteCopyMemory      -       assume MiniDumpWithFullMemory already includes this.
于 2011-02-18T13:36:37.980 に答える
4

DebugInfo.com で「Effective minidumps」を読んでみると、解決策が得られるようです。

于 2011-02-18T12:23:27.610 に答える