,mfc程序崩溃如何做让这个进程关闭

在线等,mfc程序崩溃怎么做让这个进程关闭?
分不够我还有,

如题,在win7上运行的程序崩溃后都要弹出一个对话框让选择是调试还是关闭,其实这个程序的进程还是没有关闭的,这时该怎么做才能让进程自动关闭。就是不弹出是否关闭程序的对话框直接关闭该进程。
------解决思路----------------------
这是你程序崩溃了,那个对话框是系统弹出来的,你跟踪一下哪里出错
------解决思路----------------------
造成程序无法退出有很多可能的原因,程序死锁,防火墙等等,你得把根本原因找出来
------解决思路----------------------
可以做个Watch Dog程序,定时跟你的程序通信,如果没有接收到反馈就认为程序异常,先Terminate掉,然后再CreateProcess重新启动一个。
------解决思路----------------------
引用:
其实就是怎么解决程序崩溃后怎么重启!!


做个保护程序
获取一个进程的异常
CreateProcess(0, "...exe", NULL, NULL, TRUE, DEBUG_PROCESS 
------解决思路----------------------
 ..., NULL, NULL, &startupinfo, &processinfo);

DEBUG_EVENT DbgEvent;
while (1)
{
  if (!WaitForDebugEvent(&DbgEvent, INFINITE))
  break;
  switch(DbgEvent.dwDebugEventCode)
  {
  //根据异常或者中断类型来处理
  }
  ContinueDebugEvent(DbgEvent.dwProcessId, DbgEvent.dwThreadId, DBG_CONTINUE);
}

发现程序异常,你可以杀死它然后重启
------解决思路----------------------
程序崩溃就要改到它不崩溃,发现程序中的错误,如果这个错误发生在程序内部,可以用测试函数发现并退出,这就是正常的退出机制。但崩溃属于程序中的灾难性错误,往往程序自身无法预测有处理,而是由于它对系统Shell造成的损坏而引发的错误。因此,我认为要解决的是找程序问题,而不是纠结于其它。
------解决思路----------------------
最靠谱的还是心跳, 做个守护程序吧, 守护程序尽量简单, 否则得做守护*N程序.
------解决思路----------------------
引用:
有没有傻瓜式解决方法

没什么好办法了,一个就是SetUnhandledExceptionFilter()等来捕获异常,让程序崩溃的时候不会显示出错界面,然后直接重启
------解决思路----------------------
LONG WINAPI NXUnhandledExceptionFilter(LPEXCEPTION_POINTERS lpExceptionInfo)
{
return EXCEPTION_EXECUTE_HANDLER;
}

程序启动的时候调用SetUnhandledExceptionFilter(NXUnhandledExceptionFilter);

------解决思路----------------------
有源代码的话,直接在易出异常模块添加异常处理。
__try
{
}
__except(EXCEPTION_EXECUTE_HANDLER )
{
  //关闭当前进程
}