dlgdata.cpp line 40 断言失败
来源:互联网 发布:数据师 编辑:程序博客网 时间:2024/05/22 04:24
在VS2010 运行一个C++ 程序,出现下图错误:
一看到这个,我头都大了。关键是 f:/dd/vctools/vc7libs/ship/atlmfc/src/mfc/dlgdata.cpp 这个路径根本在我计算机不存在。但是估计在安装目录下。
联想到最近更新到VS2010_sp1 ,但是发行包:
en_visual_c++_2010_sp1_redistributable_package_x86_651767
没安装,安装后再试,还是出错。
为了找到dlgdata.cpp 我用了下面的自己写的搜索工具,
搜到后,用工具打开该文件,然后在打开的记事本上点击:查看->状态栏,然后定位到40行:
总算知道大概了,在谷歌上搜索关键词:CDataExchange::PrepareCtrl ,第一个搜索结果,
http://blog.csdn.net/zipper9527/archive/2009/06/19/4282229.aspx
里面提到“我认为原因是你为一个控件进行变量绑定,后来你觉得这个控件没用了,就直接在对话框上把控件删除了,而这里的关联代码却没删除”。
关键是我不知道我的nIDC 是多少,后来发现有好多个nIDC,因为我绑定了很多变量。既然如此,那就把 dlgdata.cpp 拖到当前项目的vs2010 环境,打开dlgdata.cpp后,在第40行处设断点,点绿色运行按钮,很快到断点处了。
哈哈,nIDC找到了,是1008。
然后找到 对应的 ID_Edit1。
然后按照
http://blog.csdn.net/zipper9527/archive/2009/06/19/4282229.aspx
注释掉相关行
//DDX_Control(pDX, IDC_Edit1, m_xxxx);
并把IDC_Edit1注释掉,m_xxxx 也注释掉,
再次运行,再也没有命中断点了。Yeah!!!
分析原因:原来当初设置了一个文本框控件Eidt1,后来给它绑定到一个变量,然后觉得不好,又把这个控件替换成ComboBox,于是,就出现后来的这个现象了。
结论:以后删除控件前,先取消对控件的变量绑定,然后再删除控件。
- dlgdata.cpp line 40 断言失败
- dlgdata.cpp line 40 断言失败
- dlgdata.cpp line 40 断言失败
- dlgdata.cpp line 40 error
- 关于 debug assertion failed, file:dlgdata.cpp,line"44 错误
- 关于 debug assertion failed, file:dlgdata.cpp,line"44 错误
- VC Debug Assertion Failed File:dlgdata.cpp Line 43
- debug assertion failed, file:dlgdata.cpp,line"43
- vc dlgdata.cpp 问题
- MFC程序出现“Debug Assertion Failed! File:dlgdata.cpp Line: 43 ”错误
- Debug Assertion Failed! f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\dlgdata.cpp Line: 42
- Debug Assertion Failed! f:\sp\vctools\vc7libs\ship\atlmfc\src\mfc\dlgdata.cpp Line: 42
- debug assertion failed, file:dlgdata.cpp,line43
- "debug assertion failed, file:dlgdata.cpp,line43"
- 解决dlgdata.cpp line43错误方法小结
- debug assertion failed dlgdata.cpp line40出错
- 连接 ActiveX控件工程时断言错误处理 oletypld.cpp line:32
- 断言失败-缺少资源
- 协同培训第一个星期
- Hdu 1536 S-Nim
- 关于java中的单例模式(singleton)
- Aix2客户端代码
- 关联与依赖、组合与聚合的简单理解
- dlgdata.cpp line 40 断言失败
- DropdownList动态绑定之后 设置默认显示空值或者“请选择”
- WordNet词网研究——简介
- 转换文件
- WordNet词网研究——文件结构
- hiebernate中的表字段和映射文件
- C++中有了malloc/free 为什么还要new/delete
- 初始化本地库报错 SBL-DAT-00587
- 轻量级前端MVVM框架avalon