我正在尝试创建托管进程的minidump,它可以加载到Visual Studio 2008中。我正在使用以下代码创建一个minidump:
...
MINIDUMP_TYPE dumpType = static_cast< MINIDUMP_TYPE >(
MiniDumpWithFullMemory | MiniDumpWithDataSegs | MiniDumpWithHandleData |
MiniDumpWithProcessThreadData | MiniDumpWithPrivateReadWriteMemory );
BOOL bSuccess = MiniDumpWriteDump(
hProcess, dwProcessID, hFile, dumpType, NULL, NULL, NULL );
...
我尝试了很多MINIDUMP_TYPE的其他组合,但是没有一个能让我得到我想要的东西:能够将转储文件加载到Visual Studio中,以便托管代码显示出来,当你“附加到进程”时它会这样做”。转储文件正在加载,我可以将其用作本机代码。但是当我尝试将其作为托管代码(http://vvcap.net/db/gkqmlA9qbQIK47-patap.htp)进行调试时,我收到以下错误:“指定的文件是无法识别或不支持的二进制格式”(http://vvcap.net/db/lw5cEvSMl3yiiHRkt87R.htp)
答案 0 :(得分:1)
托管转储调试不是Visual Studio 2008支持的功能。至少将其作为托管代码进行调试不是。您可以在有限的范围内为此类型的文件使用WinDbg。