windows - Hvilken kombination af MINIDUMP\_TYPE opgørelsesværdier vil give mig den mest 'komplette' mini dump?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil have, at min app skal oprette en mini dump for at hjælpe med at debugere uhåndterede undtagelser.


Jeg kan ikke vide, hvilken type mini dump jeg vil have, indtil efter dumpningen er blevet oprettet, så hvilke kombinationer af MINIDUMP\_TYPE flag skal jeg bruge for at give mig den mest komplette dump mulig? [3]

Bedste reference


Jeg kom op på følgende liste ved hjælp af linket DebugInfo.com (tak David) og MSDN-siden. Ikke alle flag er dækket i DebugInfo.com linket.


Brug af disse flag skal skabe en omfattende, men stor mini dump.


Omfatte:


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.


Udelukke:


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.

Andre referencer 1


Læs om effektive minidumps på DebugInfo.com ser ud til at det vil lede dig til en løsning. [4]