什么是最低MINIDUMP_TYPE设置转储本地C ++托管.NET组件能够使用过程!clrstack在WinDbg中 [英] What is minimum MINIDUMP_TYPE set to dump native C++ process that hosts .net component to be able to use !clrstack in windbg
问题描述
有托管多个.NET组件本地C ++应用程序。当某些错误发生时该应用程序创建使用MiniDumpWriteDump功能小型转储。这里的问题是什么是最低限度的一套
There is native C++ application that hosts several .net components. When some error occurs this application creates mini dump using MiniDumpWriteDump function. Question here what is minimum set of
[Flags ]enum MINIDUMP_TYPE {
MiniDumpNormal = 0x00000000,
MiniDumpWithDataSegs = 0x00000001,
MiniDumpWithFullMemory = 0x00000002,
MiniDumpWithHandleData = 0x00000004,
MiniDumpFilterMemory = 0x00000008,
MiniDumpScanMemory = 0x00000010,
MiniDumpWithUnloadedModules = 0x00000020,
MiniDumpWithIndirectlyReferencedMemory = 0x00000040,
MiniDumpFilterModulePaths = 0x00000080,
MiniDumpWithProcessThreadData = 0x00000100,
MiniDumpWithPrivateReadWriteMemory = 0x00000200,
MiniDumpWithoutOptionalData = 0x00000400,
MiniDumpWithFullMemoryInfo = 0x00000800,
MiniDumpWithThreadInfo = 0x00001000,
MiniDumpWithCodeSegs = 0x00002000,
MiniDumpWithoutManagedState = 0x00004000,
};
这应该传递给MiniDumpWriteDump生产小型转储文件,但与能够看到CLR堆栈)?当然,完全内存转储将工作,但如何获得唯一可以忍受的最低限度?
that should be passed to MiniDumpWriteDump to produce small dump file but with ability to see clr stack)? Sure, full memory dump will work but how to get only bearable minimum?
推荐答案
其实,这足以说明这些选项(使转储小,能够提取管理调用栈):
In fact, it is enough to specify these options (to make dump small and be able to extract managed callstacks):
- MiniDumpNormal(默认)
- MiniDumpWithProcessThreadData li>
- MiniDumpWithThreadInfo
- MiniDumpWithUnloadedModules
非常感谢奥列格Starodumov形式 http://debuginfo.com/
Thanks a lot to Oleg Starodumov form http://debuginfo.com/
这篇关于什么是最低MINIDUMP_TYPE设置转储本地C ++托管.NET组件能够使用过程!clrstack在WinDbg中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!