如何有效的调试MFC DLL

如何有效的调试MFC DLL,第1张

在MFC DLL中,可能出错的地方::AfxMessageBox(L"这里输出某些变量的值或者显示一下执行到哪个位置了")

找出问题之后再修改,然后把::AfxMessageBox注释

或者就用GOOGLE出来的调试方法。

这个不管用,因为暴异常的地方是在MFC源码里头,而不是我的MFC dll代码里头(dll的代码哪里出问题,这个我可以确定,因为有自己的SEH跟着)

什么是调用对话框?是否只是显示?

如果是显示的话有两种办法了:

1。把对话框类从dll中导出。

2。从dll中导出函数,在该函数中显示对话框。

因为对话框涉及资源句柄等模块状态的切换,所以一般采用第二种。第二种只需要在导出的函数中增加: AFX_MANAGE_STATE(AfxGetStaticModuleState()) ,而第一种需要将对话框类的每个用到资源的成员函数都加上这句话。

首先,你要确定 ,你的VB DLL里是否使用了.net的类库,一旦使用了.net类库,就需要在项目里加入对CLR的支持。其次,你在DLL里的函数是否指明了是导出函数,非导出 函数 是不可以外部调用 的。如果没有使用.net,而且函数也是导出的,那么可以按照常规DLL的方式 去直接调用 。一旦使用了.net,那样可能 会有些麻烦,至于以上两个问题的解决方法百度一下就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11992449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存