Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置为转储本机C++;承载.net组件以便能够使用的进程!windbg中的clrstack 有本地C++应用程序,它承载多个.NET组件。当出现错误时,此应用程序使用MiniDumpWriteDump函数创建迷你转储。这里的问题是什么是最小值集 [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, };_.net_Debugging_Dump_Minidump_Minidumpwritedump - Fatal编程技术网

设置为转储本机C++;承载.net组件以便能够使用的进程!windbg中的clrstack 有本地C++应用程序,它承载多个.NET组件。当出现错误时,此应用程序使用MiniDumpWriteDump函数创建迷你转储。这里的问题是什么是最小值集 [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, };

设置为转储本机C++;承载.net组件以便能够使用的进程!windbg中的clrstack 有本地C++应用程序,它承载多个.NET组件。当出现错误时,此应用程序使用MiniDumpWriteDump函数创建迷你转储。这里的问题是什么是最小值集 [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, };,.net,debugging,dump,minidump,minidumpwritedump,.net,Debugging,Dump,Minidump,Minidumpwritedump,应该传递给MiniDumpWriteDump以生成小转储文件,但能够查看clr堆栈)?当然,完全内存转储可以工作,但如何只获得可承受的最小值?据我所知,您需要完全转储。原因是要解码堆栈内容,您需要CLR私自分配的内存(例如JITted方法) 从理论上讲,可以手动将这些内存区域添加到较小的转储中,但在上面列出的枚举值中,恐怕只有完整的转储包含该信息。事实上,指定这些选项(使转储变小并能够提取托管调用堆栈)就足够了: MiniTumpNormal(默认值) MiniTumpWithProcessTh

应该传递给MiniDumpWriteDump以生成小转储文件,但能够查看clr堆栈)?当然,完全内存转储可以工作,但如何只获得可承受的最小值?

据我所知,您需要完全转储。原因是要解码堆栈内容,您需要CLR私自分配的内存(例如JITted方法)


从理论上讲,可以手动将这些内存区域添加到较小的转储中,但在上面列出的枚举值中,恐怕只有完整的转储包含该信息。

事实上,指定这些选项(使转储变小并能够提取托管调用堆栈)就足够了:

  • MiniTumpNormal(默认值)
  • MiniTumpWithProcessThreadData
  • MiniTumpWithThreadInfo
  • 未加载模块的小型转储
  • 非常感谢Oleg Starodumov的表现