我一直在使用 MiniDumpWriteDump 在崩溃时生成转储文件。我一直在尝试进行完整的内存转储。这似乎有效,并按预期生成了一个大文件。
但是,当我将这个巨大的文件加载到 Visual Studio (2005) 中时,我似乎无法看到堆上任何变量的值。事实上,它给我的信息并不比普通转储多...
我对 MiniDumpWriteDump 的调用如下;
MINIDUMP_EXCEPTION_INFORMATION mdi;
mdi.ThreadId = GetCurrentThreadId();
mdi.ExceptionPointers = in_pInfo;
mdi.ClientPointers = FALSE;
MiniDumpWriteDump(GetCurrentProcess(),GetCurrentProcessId(),
fHan,
MiniDumpWithFullMemory,
&mdi,
0,
0);
注意:我有一套完整的 pdb,一个有效的堆栈,在我的测试应用程序中,我用被零除来伪造一个错误。
知道这是为什么吗?
干杯丰富