WER 迷你转储中使用哪些自定义转储标志?

问题描述 投票:0回答:1

我正在使用 Windows 错误报告的注册表设置 来捕获 Win32 C++ 程序崩溃时的小型转储。

我想包含我的进程中的字符串数据,至少是堆栈跟踪范围内的字符串数据。但是,使用

DumpType
1: Mini dump
时,将排除所有字符串数据。

仅使用自定义转储选项

MINIDUMP_TYPE
MiniDumpWithIndirectlyReferencedMemory
,转储即可捕获所需的字符串数据。然而,该文件比标准迷你转储小得多(~400 KB vs. 15 MB),所以我担心我遗漏了重要信息。

注册表的 MINIDUMP_TYPE

 
DumpType 选项中使用了哪种
1: Mini dump
 标志组合?
我在任何地方都找不到此信息。

如果不包含这些标志,我丢失关键信息的可能性有多大?我只在调试崩溃时查看堆栈跟踪和范围内变量。老实说,我不确定如何使用转储来确定进程崩溃的原因。

winapi registry dump minidump windows-error-reporting
1个回答
0
投票

也许收集用户模式转储列出了默认标志:

0x00000121 (MiniDumpWithDataSegs MiniDumpWithUnloadedModules MiniDumpWithProcessThreadData == 0x00000001 0x00000020 0x00000100)

我创建了小型转储,并将

DumpType
设置为 1(小型转储)。 WinDbg 中的
.dumpdebug
命令列出了此小型转储的以下标志:

Flags           00200121
                00000001 MiniDumpWithDataSegs
                00000020 MiniDumpWithUnloadedModules
                00000100 MiniDumpWithProcessThreadData
                00200000 MiniDumpWithAvxXStateContext

我认为

MiniDumpWithAvxXStateContext
取决于处理器架构。

© www.soinside.com 2019 - 2024. All rights reserved.