首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ MFC调试断言失败!在静态MFC中

C++ MFC调试断言失败!在静态MFC中
EN

Stack Overflow用户
提问于 2012-05-20 02:28:02
回答 1查看 8.2K关注 0票数 0
代码语言:javascript
复制
Debug Assertion Failed!
File: f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\objcore.cpp Line: 40

当我尝试使用调试配置- Use MFC in a Static LibraryDynamic Library (.dll)来DoModal(或创建) MFC窗口时,我遇到了这个问题。在发布配置中,一切正常,但我不能调试dll。MS VS 2010

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-20 21:21:32

这在发布构建中不会发生,因为代码使用的断言在发布构建中没有任何意义。ASSERT是一个调试工具。

这可能会让你大吃一惊,但MFC并不使用Windows模式对话框。调用Create或DoModal创建windows无模式对话框。MFC通过禁用父窗口(如果有的话)来实现模态,并为对话框提供自己的消息处理循环,类似于应用程序消息循环。

这就是为什么无论使用Create还是DoModal都会得到相同的结果。

在显示对话框之前会发生这种情况吗?

你在帖子中显示的错误表明,在你的应用程序代码中的某个地方,你正在尝试使用一个尚未实例化的对象,并且在对话框初始化期间为空。它似乎没有通过IsKindOf检查。

是否有可能压缩您的项目,并为我们发布它做调试?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10667837

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档