这是我的注册表:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps]
"DumpType"=dword:00000000
"CustomDumpFlags"=dword:00000006
根据这篇文章 DumpType=0
意味着自定义转储,然后CustomDumpFlags
被考虑在内。根据这篇文章 CustomDumpFlags=6
的意思MiniDumpWithFullMemory | MiniDumpWithHandleData
,其中:
- MiniDumpWithFullMemory - 在进程中包含所有可访问的内存。原始内存数据包含在末尾,因此可以直接映射初始结构而无需原始内存信息。此选项可能会导致文件非常大。
- MiniDumpWithHandleData - 包括有关在进行小型转储时处于活动状态的操作系统句柄的高级信息。
现在我有一个 crash-me 应用程序,所以我运行它,它崩溃了,转储是在 %userprofile%\AppData\Local\CrashDumps 中创建的,我在 windbg 中打开它并在那里看到以下行:
具有完整内存的用户迷你转储文件:只有应用程序数据可用
这相当于CustomDataFlags=2
那么,我该如何创建一个包含句柄数据的转储呢?如果可能的话,我不想使用第三方。
我的操作系统是 Windows 8 或 Windows 2008R2 服务器或更高版本。