我从Perl脚本调用命令行程序。当这些程序崩溃时,我会收到一个消息框,提示我是否要通知Microsoft。由于这是一个自动化系统,因此我希望能够抑制该消息并继续使用我的脚本中的其他内容。这可能吗?
答案 0 :(得分:1)
当程序崩溃时,您可能可以使用WerAddExcludedApplication
function来阻止WER进入。您应该使用WerRemoveExcludedApplication
再次恢复排除帽子。
答案 1 :(得分:1)
关于如何关闭错误报告的更多信息
答案 2 :(得分:0)
在Windows错误报告(WER)下启用此组策略应该可以解决问题(现在进行测试,因为我遇到了同样的问题): https://www.raymond.cc/blog/disable-program-has-stopped-working-error-dialog-in-windows-server-2008/
如果您执行某个程序并且在您的perl脚本中的system()
调用内部崩溃,则不会弹出任何弹出窗口。
但请注意,该政策将是全系统的;如果您的系统用于批处理作业,则没问题。
答案 3 :(得分:-1)
问题听起来不像是Perl问题,听起来像是系统命令的问题。你的意思是“当这些程序崩溃时”。你的系统程序?
这取决于导致崩溃的原因。这是“Dr。Watson”错误/ WinQUAL功能,对于纯Perl代码实际上不应该发生,如果是这样,这意味着Perl解释器崩溃并且您有Perl错误或正在使用崩溃的本机扩展,确保您拥有Perl或任何本机扩展的最新稳定版本。把它缩小到崩溃的地方。
您还可以从Windows控制面板完全关闭Windows错误报告功能。