c# - 捕捉引擎ExecutionException

标签 c# c++ exception-handling managed memory-corruption

我有一个包含托管代码和 native 代码的应用程序。该应用程序当前有一个未处理的异常过滤器,通过 SetUnhandledExceptionFilter 设置,它捕获任何严重错误,生成一个小型转储,记录各种应用程序参数,并退出程序。

未处理的异常处理程序不会捕获 .NET 运行时中发生的 EngineExecutionException。我们怀疑问题是由应用程序的 native 部分引起的内存损坏。

问题是,当异常发生时,应用程序就这样无影无踪地退出了。当发生这种情况时,我们想记录一个小型转储。有谁知道我们的应用程序如何安装能够捕获它的处理程序?

最佳答案

据我所知,这个异常在事物的托管方面是不可捕获的(至少在 .NET 4 中不可捕获)。

“捕捉”它的一种方法是为您的应用程序创建一个( native )自定义启动器/加载器来加载 .NET 运行时 - 这个自定义启动器可以在 .NET 运行时的 native 端安装异常处理程序。

引用链接:

关于c# - 捕捉引擎ExecutionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182387/

相关文章:

c# - 如何在 SQLite 中存储 boolean 值

c++ - 如何用QPrinter打印文本文件

python - 在函数中引发异常与返回无?

c# - MVC3 模型验证不适用于双

c# - 如何在列表框 wpf 中获取多个选定项?

c# - 自定义控件导致 Visual Studio 2008 崩溃

c++ - 链接列表最后添加不起作用

c++ - 如何创建 sqlite3 内存数据库?

c# - 奇怪的异常处理伪指令

c++ - 使类型安全地投入 C++