c++ - 是否可以在 UWP 应用程序中捕获本机未处理的异常?
问题描述
我们的 UWP 应用程序主要是 C#,但有一个本机 DLL。当本机代码崩溃时,不会触发 CoreApplication.UnhandledErrorDetected(我们有一个 C# 处理程序)。我们尝试在 DLL 中调用 SetUnhandledExceptionFilter,但我们的处理程序没有被调用。
顺便说一句,CRT 处理程序确实有效(例如 _set_invalid_parameter_handler)。
在https://social.msdn.microsoft.com/Forums/windowsapps/en-US/9cddf0bc-8277-4534-b2c5-a96b9012e569/uwpc-is-it-possible-to-capture-unhandled-exceptions?forum=wpdevelop建议使用 CoreApplicationExceptionHandler::OnUnhandledException。
我曾尝试将 CoreApplicationExceptionHandler::OnUnhandledException 嵌入到本机 DLL 中,但它根本没有帮助。
- 如果在 C# 中设置了捕获(首先),则不会调用本机处理程序。只有当它是第一个集合时才会调用它(尽管在我的测试中,处理程序会传播异常)。
- 处理程序不会捕获非 WinRT 代码中的本机崩溃。
那么如何捕获原生异常???
此处提供了显示问题的演示解决方案:https ://drive.google.com/file/d/1-6r-XrOe6cRhZduRNA2HnhLm7eKQlGFU/view?usp=sharing
谢谢
解决方案
推荐阅读
- android - 在库模块中使用 Google Play Services Gradle 插件
- html - 水平滚动时,粘性标题滚动出视图
- jenkins - Kubernetes 节点上的 Jenkins 抱怨其插件需要更新版本的 Jenkins,但不想丢失数据
- python - 在保存为 TEXT 的 sqlite 中搜索日期 - 执行大于、等于或小于操作
- hyperlink - 文档完成后如何在 DocuSign 中创建可点击的超链接
- bash - 如何从文件中提取模式并用它们填充 bash 数组?
- java - getSharedPreferences Activity 到 Fragment
- java - JavaMailSenderImpl 使用一个电子邮件地址配置并使用另一个作为 MimeMessageHelper.setFrom 但说权限问题
- python - 我应该在 Facebook-Graph-API 中使用哪个包?
- python - 某些方法的python导入失败