MINIDUMP_TYPE枚举值的哪种组合将为我提供最“完整"的小型转储? [英] What combination of MINIDUMP_TYPE enumeration values will give me the most 'complete' mini dump?

查看:100
本文介绍了MINIDUMP_TYPE枚举值的哪种组合将为我提供最“完整"的小型转储?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望我的应用程序创建一个小型转储,以帮助调试未处理的异常.

I want my app to create a mini dump to help debug unhanded exceptions.

在创建转储之后,我可能不知道我想要哪种类型的小型转储,因此

I may not know what type of mini dump I will want until after the dump has been created, so what combinations of MINIDUMP_TYPE flags should I use to give me the most complete dump possible?

推荐答案

在DebugInfo.com链接(感谢David)和MSDN页面的帮助下,我提出了以下列表.并非所有标志都包含在DebugInfo.com链接中.

I came up with the following list with the help of the DebugInfo.com link (thanks David) and the MSDN page. Not all flags are covered in the DebugInfo.com link.

使用这些标志应该创建一个全面的,但很大的小型转储.

Using these flags should create a comprehensive, but big mini dump.

包括:

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.

这篇关于MINIDUMP_TYPE枚举值的哪种组合将为我提供最“完整"的小型转储?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆