我正在从批处理文件运行测试脚本.
因为它是测试,程序预计会偶尔失败.只要返回错误代码就是文件,所以我可以继续并将特定测试标记为失败.
但是,在Microsoft Windows下可执行文件的行为非常烦人 – 如果出现问题,弹出窗口就像:
This application has Failed to start because foo.dll was not found,Re-installing the application may fix the problem
<OK>
甚至更好:
The instruction at “…” referenced to memory at “…” ..
Click on OK to terminate the program
Click on CANCEL to debug the program
结果是已知的 – 脚本执行阻止,直到某人按下“确定”按钮.当我们谈论可能在某些无头虚拟机中自动运行的自动脚本时,可能会出现问题.
有没有一种简单的方法来防止这种行为,只是让应用程序退出失败代码 – 而不更改程序本身的代码?
这有可能吗?
答案如下:您需要禁用
WER.
我在http://www.noktec.be/archives/259找到的最简单的描述
简单(ON XP):右键单击我的电脑>高级>错误报告>禁用
Voila – 程序默默崩溃!
当DLL丢失时,这并不能解决问题,但这种情况非常罕见,这对我来说已经足够了.