加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在C/C++中捕获DLL崩溃

发布时间:2020-12-16 09:32:22 所属栏目:百科 来源:网络整理
导读:我正在从DLL调用一个函数,如下所示: __declspec ( dllimport ) bool dll_function(...);int main() { [...] if (dll_function(...)) { [...] }} 在某些情况下,我传递给DLL函数的数据将导致DLL崩溃.有可能捕获这个,所以我的应用程序也不会崩溃(没有修改不是
我正在从DLL调用一个函数,如下所示:

__declspec ( dllimport ) bool dll_function(...);

int main() {
  [...]
  if (dll_function(...)) {
    [...]
  }
}

在某些情况下,我传递给DLL函数的数据将导致DLL崩溃.有可能捕获这个,所以我的应用程序也不会崩溃(没有修改不是由我创建的DLL)?

解决方法

您可以使用MSVC编译器中的__try和__except关键字捕获AV.并非所有这些都有用,你不知道造成了什么样的伤害.您的程序状态可能已损坏.例如,堆可能会被烧毁,从而导致随后的随机故障.在自己的进程中托管DLL并使用IPC与之交谈是唯一不错的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读