在 Windows 10 上的特定进程崩溃时禁用 WerFault.exe

Dre*_*kes 12 windows-error-reporting windows-10

当特定的可执行文件崩溃时是否有可能werfault.exe 没有运行?我正在开发一些软件(是的,我知道,这很难相信)它偶尔会(故意)崩溃,每次发生这种情况时,它都需要几秒钟werfault.exe才能做任何想做的事。

似乎我可以关闭支持此功能的整个服务,但我很高兴它可以在系统的其他部分运行。

那么我可以告诉它不要担心某个可执行文件的子集吗?

编辑根据@Moab 的要求,这是我的研究:

  • 谷歌搜索“禁用特定进程 windows 10 的 werfault.exe”和一些变体。
  • 浏览几页结果。
  • 结论是这些信息不容易获得,或者我不知道搜索它的正确术语。
  • 意识到有机会在 Stack Exchange 上将其捕获为问题的典型示例,以帮助我和其他人。
  • 多想想如何表述这个问题。
  • 考虑是否询问 Stack Overflow、超级用户或服务器故障。
  • 选择超级用户,因为这可能是台式计算机管理问题,而不是服务器问题。
  • 顶一下,问问题。
  • 快速获得有用的答案。感谢作者,投票并接受答案。
  • 在对已接受答案的评论中,提供有关我为此发现的有用 API 的更多相关信息。
  • 后来,开始思考为什么有人如此强烈反对我的问题。
  • 花时间想知道我是否真的可以为这个问题提供一些额外的信息来提供帮助。
  • 图除了尝试之外别无他法,所以就在这里。

编辑 2实际上,上述步骤现在是多余的。这个问题现在是我的原始搜索词在 Google 上的第一大结果。我认为这实现了上面的第四点。

小智 8

您遇到了 Windows 错误报告(有时可能很好)。您绝对可以将其配置为不为某些应用程序运行。

MSDN 页面WER Settings,您可以为整个机器或每个用户配置Windows 错误报告的文档:

HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting
Run Code Online (Sandbox Code Playgroud)

打开 regedit 并将以下内容添加为 REG_SZ(字符串值)。您可能还需要添加ExcludedApplications密钥:

ExcludedApplications\[Application Name]
Run Code Online (Sandbox Code Playgroud)

注意: MSDN 文档说明您应该使用WerAddExcludedApplication函数,而不是手动将项目添加到Windows 错误报告注册表项,以排除。

如果你想创建一个 .reg 文件,我会使用它:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\ExcludedApplications]
"YourAppName.exe"=""
Run Code Online (Sandbox Code Playgroud)


mag*_*981 5

将其复制到 .reg 文件中并通过双击导入

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting\ExcludedApplications]
"MyApp.exe"=dword:00000001
Run Code Online (Sandbox Code Playgroud)