我一直在使用http://www.codeproject.com/Articles/1934/Post-Mortem-Debugging-Your-Application-with-Minidu从我的应用程序中获取一个转储文件,该文件总是在另一个系统上崩溃。
所以我所拥有的是头文件和 CPP 并处于调试模式,但没有附加调试器,它询问我是否要创建 dmp 文件,然后崩溃,但在发布模式下,它只是崩溃。
基本上我一直在使用的代码是
void IndexFault(int n)
{
unsigned char* smallArray = new unsigned char[4];
printf((const char*)smallArray[n]);
}
MiniDumper* mDump = new MiniDumper("Dumpfile");
int main()
{
IndexFault(4);
return 0;
}
同样,如果执行从调试模式创建的 exe,我得到的文件就好了,而发布我什么也得不到。在这两种情况下都是 64 位代码。一旦它起作用,我将把它应用到我的真实代码中,但到目前为止,我无法弄清楚发生了什么。我使用的 Minidumpwriter 来自上述网站。