检测从.NET调用的调用dll的崩溃
发布时间:2020-12-14 04:37:59 所属栏目:Windows 来源:网络整理
导读:我从.NET应用程序调用了一些本机dll(Delphi). 如果DLL中发生任何类型的崩溃,则整个.NET应用程序崩溃.如何防止这种情况并确保.NET应用程序不会崩溃并识别错误.我不需要来自本机dll的特定错误反馈(这是不可能的,因为它崩溃了).但我想写一些东西到我的.NET日志
我从.NET应用程序调用了一些本机dll(Delphi).
如果DLL中发生任何类型的崩溃,则整个.NET应用程序崩溃.如何防止这种情况并确保.NET应用程序不会崩溃并识别错误.我不需要来自本机dll的特定错误反馈(这是不可能的,因为它崩溃了).但我想写一些东西到我的.NET日志文件,如“xyz.dll崩溃”. 这是否可能从.NET中调用(Delphi或C)dll? 解决方法
如果你的DLL从导出的函数中抛出异常,就会发生这种情况. DLL不能这样做,所以你需要捕获DLL边界的所有异常,并将它们转换为错误代码返回值.
如果您无法控制DLL,则需要为其编写包装层.创建另一个本机DLL,它调用原始DLL并捕获它抛出的任何异常.您可以使用我怀疑的另一个Delphi DLL执行此操作,或者使用使用SEH捕获异常的C或C DLL执行此操作. 可以为这样的包装器DLL编写代码的生成脚本.如果你需要包装很多函数,你会想要这样做. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- 在Windows中将DataContext传递给用户控件
- windows-7 – MSMQ问题读取远程私人队列(再次)
- windows-phone-8 – Windows Phone 8.1应用程序无
- DOS命令FindStr
- DLL – 在Firefox扩展中使用Firebreath生成的插件
- .net – msxml6.dll错误’80072ee2’操作超时
- Windows 下安装 swoole 图文教程(php)
- 测试 – Browserstack Win7 IE10不播放HTML5视频
- Windows – 如何运行shell命令,而不在VB6中打开C
- windows-7 – 从Visual Studio 2012中删除窗口阴
热点阅读