如何防止dll的crash造成了调用者的crash

Smile_Tiger 2010-07-29 09:04:43
我在实际应用中是用loadlibrary()调用dll的,dll由二次开发人员编写,难免会遇见dll的代码出现crash的情况,结果导致调用者程序的崩溃。

我曾尝试用try-catch方式捕获GetProcAddress()获取到的函数调用的错误,但是效果不佳。

谁有更好的办法?


...全文
423 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Smile_Tiger 2010-08-06
  • 打赏
  • 举报
回复
http://code.google.com/p/crashrpt/

这个不错,大家可以看看
Smile_Tiger 2010-07-31
  • 打赏
  • 举报
回复
各位都回答得不错,学习了
sunlin7 2010-07-30
  • 打赏
  • 举报
回复
当dll加载到进程里面的时候,就是进程的一部分,没有什么办法进行“隔离”,进程防自身crash的办法就可以防dll的crash的。如果对别人的代码不放心的,可以使用进程间通信的办法当作另外的进程来调用。
qq515383106 2010-07-30
  • 打赏
  • 举报
回复
学习了,不懂
fly4free 2010-07-30
  • 打赏
  • 举报
回复
呵呵6楼,本来人家就怕别人写的有bug,你还提供一个不开源的dll~
lazy_2010 2010-07-29
  • 打赏
  • 举报
回复
#2 说得对,试试这个办法吧。
汪宁宇 2010-07-29
  • 打赏
  • 举报
回复
别人的DLL有问题,那就挺纠结~~

不过有兴趣看看这个吧!

程序异常捕获库 - CrashRpt
oyljerry 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 smile_tiger 的回复:]

那有没有替代dll设计方式的其它较安全的二次开发方案?
[/Quote]
怎么不让dll开发人员修复bug...
要么搞一个守护进程,发现进程崩溃了,重启..
luodx1021 2010-07-29
  • 打赏
  • 举报
回复
这种问题比较烦人,我曾经也遇到过。
Smile_Tiger 2010-07-29
  • 打赏
  • 举报
回复
那有没有替代dll设计方式的其它较安全的二次开发方案?
fly4free 2010-07-29
  • 打赏
  • 举报
回复
用 结构化异常处理,

__try __except

oyljerry 2010-07-29
  • 打赏
  • 举报
回复
dll加载在进程空间,要是dll自身有问题,各种crash都有可能,很难避免

15,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧