我无法通过更改系统设置来创建我的流程的minidump.所以我的问题是:
当系统崩溃时,系统是否会为用户进程创建一个minidump
如果是,我需要配置哪个设置
或者我必须以编程方式创建minidump.
在调查崩溃时小型泵的效果如何
我使用的是Windows XP,C++,VC6
我有一个进程,我从CreateProcess开始,然后我等待它完成并检查其退出代码.我在批处理模式下执行此操作,如果进程崩溃,我不希望显示任何消息框.仅返回非零退出代码即表示失败就足够了.到目前为止我已经尝试过使用了
LONG WINAPI MyUnhandledExceptionFilter(_EXCEPTION_POINTERS *lpTopLevelExceptionFilter)
{
ExitProcess(-1);
return EXCEPTION_EXECUTE_HANDLER;
}
BOOL CMyApp::InitInstance()
{
AfxEnableControlContainer();
SetUnhandledExceptionFilter(MyUnhandledExceptionFilter);
throw std::runtime_error("test");
}
Run Code Online (Sandbox Code Playgroud)
但这并不总是保持沉默.有时会显示一个对话框:
---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Runtime Error!
Program: C:\Workspace\MyApp\Release\MyApp.exe
abnormal program termination
---------------------------
OK
---------------------------
Run Code Online (Sandbox Code Playgroud)