什么是最低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

查看:428
本文介绍了什么是最低MINIDUMP_TYPE设置转储本地C ++托管.NET组件能够使用过程!clrstack在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):

  1. MiniDumpNormal(默认)
  2. MiniDumpWithProcessThreadData
  3. MiniDumpWithThreadInfo
  4. MiniDumpWithUnloadedModules

非常感谢奥列格Starodumov形式 http://debuginfo.com/

Thanks a lot to Oleg Starodumov form http://debuginfo.com/

这篇关于什么是最低MINIDUMP_TYPE设置转储本地C ++托管.NET组件能够使用过程!clrstack在WinDbg中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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