设置为转储本机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, };
应该传递给MiniDumpWriteDump以生成小转储文件,但能够查看clr堆栈)?当然,完全内存转储可以工作,但如何只获得可承受的最小值?据我所知,您需要完全转储。原因是要解码堆栈内容,您需要CLR私自分配的内存(例如JITted方法)设置为转储本机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
从理论上讲,可以手动将这些内存区域添加到较小的转储中,但在上面列出的枚举值中,恐怕只有完整的转储包含该信息。事实上,指定这些选项(使转储变小并能够提取托管调用堆栈)就足够了: