阅读更多
最近发现一个很早以前的程序出现了兼容性问题。程序有检测机制,发现异常退出可以自动重启。但是这次没有重启成功。操作系统是Windows 2008,以前用的操作系统是Windows 2003,在2003上就没有该问题。
后来发现2008和2003的错误报告机制不同。2008下,遇到程序崩溃会弹出一个错误提示对话框,需要手工关闭,程序才能退出。
临时解决问题的方法就是想办法关闭这个对话框。Windows有很多错误提示框,关了一个还会出现另外一个。
下面的方法可以关闭以下的几个对话框不再出现:
xxx已停止工作
xxx-应用程序错误
xxx-未找到调试器
需要修改三个地方:
1.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
在.NETFramework上点击右键-》新建-》DWORD(32-位)值-》
名称:DbgJITDebugLaunchSetting
数据:1
2.HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting 修改两个值(修改第一个值也可退出,但是退出时间较长,测试环境需要1分钟左右,应该是在收集错误信息)
名称:DontShowUI 数据:1
名称:Disabled 数据:1
参考资料:
http://otland.net/threads/disable-error-dialog-in-windows-server-2008-vista.68954/
http://www.hanselman.com/blog/HowToTurnOffdisableTheNETJITDebuggingDialog.aspx