首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

同样的一个cpp文件出现在多个项目中的运行有关问题

2013-03-12 
同样的一个cpp文件出现在多个项目中的运行问题问题描述:debug版本的程序运行时报错,单击两次忽略后正常可

同样的一个cpp文件出现在多个项目中的运行问题
问题描述:
debug版本的程序运行时报错,单击两次忽略后正常可以运行。调试跟进后指明是appcore.cpp这个系统代码文件中的421行:ASSERT(AfxGetThread() == NULL);
查了一下,网上有人因为自己的theApp定义重了导致的问题。我发现现在有个cpp文件中定义了一个对象比如:CObjectModelApp theApp;在对应的头文件中进行了extern。现在这个文件及其头文件出现在了多个个项目的路径下,我的意思是这样对不对,会不会引起重复定义,和我这个问题有没有关系?
[解决办法]
变量有重复定义的话,连接器会报错,看看你是不是强制链接了?
[解决办法]
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。
判断是否越界访问,可以在数组的最后一个元素之后对应的地址处设置数据读写断点。如果该地址对应其它变量干扰判断,可将数组多声明一个元素,并设置数据读写断点在该多出元素对应的地址上。

[解决办法]
应该不会是重复定义引起的,单步调试看看。
[解决办法]
个人认为,定义了extern应该就不会有重定义错了,报断言可能是你自己定义的theapp和系统的不同类型,转换来检验就会认为是NULL吧

热点排行