当前位置:  开发笔记 > 开发工具 > 正文

混合本机/托管可执行文件中的最终托管异常处理程序

如何解决《混合本机/托管可执行文件中的最终托管异常处理程序》经验,为你挑选了0个好方法。

我有一个用/ clr编译的MFC应用程序,我正在尝试为其他未捕获的托管异常实现最终处理程序.对于本机异常,重写CWinApp::ProcessWndProcException工作.

Jeff的CodeProject文章中提出了两个事件,Application.ThreadExceptionAppDomain.CurrentDomain.UnhandledException没有提出.

任何人都可以建议一种方法为混合可执行文件提供最终的托管异常处理程序?


更新:

似乎这些异常处理程序仅在下游Application.Run或类似地触发(存在工作线程风格,无法记住名称.)如果要真正全局捕获托管异常,则需要安装SEH过滤器.你不会得到一个System.Exception,如果你想要一个callstack,你将不得不推出自己的助行器.

在关于该主题的MSDN论坛问题中,建议覆盖a中主MFC线程的足够低级别的点try ... catch (Exception^).例如,CWinApp::Run.这可能是一个很好的解决方案,但我没有考虑任何性能或稳定性的影响.在保释之前,您将有机会使用调用堆栈进行记录,并且可以避免默认的Windows unahndled异常行为.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有