编程环境:Visual Studio 2010
首先确定是在 Debug 配置状态。
初始解决方案如下:
错误现象:CXX0017: Error: symbol this not found
方法 1:
将编译优化选项设置为"/Od"就可以了。
工程右键 -> Properties -> Configuration Properites -> C/C++ -> Optimization -> Optimization: Disabled(/Od)
注:如果解决,程序可能存在逻辑错误
方法 2:
将VS生成的工程文件全部删除,(Debug目录下的pdb文件),然后全部重新生成
3. 如果未解决,可能是 Visual Studio 2010 自身bug问题。见 MSDN bug report
https://connect.microsoft.com/VisualStudio/feedback/details/613569/cannot-inspect-local-variables-while-debugging-in-vs2010-cxx0017-symbol-not-found-error#details
情况 1.
int _tmain(int argc, _TCHAR* argv[])
{
float f = 123.0; //声明并初始化
if(false)
{
int str1; //if中声明新变量。关键!去掉此处可以解决问题,所以可在 if 外声明
}
else
{
//else中声明的变量在调试时,出问题
int str2;
int a = 123;
a++;
}
return 0;
}
情况 2. 解决方案 将 k 作为局部变量使用,即for(int k=0;k<2;k++)
#include <stdio.h>
int main()
{
int arr[5];
int k; //循环变量,非局部
float f=123;
for(k=0;k<2;k++)
{
arr[k] = 2;
int t = 5;
printf("%d\n",t);
}
int i = 2;
if(i > 0) //if从句内出现的 新变量,也会出现问题
{
int joke;
printf("waht\n");
}
return 0;
}
以上只是已测试的情况,如果类似问题,可参考进行调试一键获取完整项目代码
————————————————
版权声明:本文为优快云博主「Xunixing」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/xunixing/article/details/7892898
解决CXX0017符号未找到错误
1085

被折叠的 条评论
为什么被折叠?



