Windows 7 - 禁用关闭程序/调试程序对话框,但故障转储并通知用户

发布于 2024-11-25 13:55:33 字数 342 浏览 2 评论 0原文

我正在开发一个商业 Windows 7 桌面应用程序(有点收缩包装,但不完全是)。该应用程序具有 Windows 服务和 WPF 用户界面组件。如果我们的应用程序在客户站点发生故障,我们希望能够捕获有关运行时环境的信息,包括将进程的故障转储到转储位置。然后,可以根据进一步调查的要求将该信息转发给我们的支持人员。我们还希望关闭任何可能因失败而弹出的Windows 错误报告发送至Microsoft对话框。

重要的是我们只希望这影响我们的申请流程。我们不想影响某些全局设置,从而改变客户桌面上的所有其他应用程序报告致命错误的方式。

我正在寻找一些建议和最佳实践,以便在热收缩包装应用程序中执行此类操作。

I'm developing a commercial Windows 7 desktop application (somewhat shrink wrap, but not quite). The application has both Windows Service and a WPF User Interface components. In the event that our application fails at a customer site we want to be able to capture information about the runtime environmnent, including a crash dump of our processes to a dump location. That information could then be forwared to our support personnel upon request for further investigation. We also want to turn off any Windows Error Reporting and Send To Microsoft dialogs that might popup as a result of the failure.

The important thing is that we only want this to affect our application processes. We don't want to affect some global setting that will change the way all other applications on the customers desktop report fatal errors.

I'm looking for some suggestions and best practices for doing this sort of thing in a shrink wrap application.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

东风软 2024-12-02 13:55:33

我知道如何执行此操作的最佳方法是订阅 AppDomain.CurrentDomain.UnhandledException 事件。在那里您将能够使用 Win32 API 函数 MiniDumpWriteDump< /a> 创建您自己的小型转储文件。查看这篇博文 查看一个很好的例子。此外,还有 ClrDump 库。

在退出 UnhandledException 处理程序之前,请调用 Environment.Exit()< /a> 并且您应该不会再看到任何 Windows 错误对话框。

我自己还没有真正使用过这些小型转储库,但我很快就会使用。希望这个答案至少能给你一些可以插入谷歌的关键词。

The best way I know how to do this is by subscribing to the AppDomain.CurrentDomain.UnhandledException event. There you will be able to use the Win32 API function MiniDumpWriteDump to create your own minidump file. Check out this blog post to see a good example. Also, there is the ClrDump library.

Before you exit from your UnhandledException handler, call Environment.Exit() and you shouldn't see any more Windows error dialogs.

I have not actually used these minidump libraries myself yet, but I will soon. Hopefully this answer will at least give you a few keywords that you can plug into Google.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文