VS2010无法查看自定义的普通变量解决办法( CXX0017: 错误: 没有找到符号 )

转载 2013年12月02日 10:12:28

     在使用VS2010调试程序时,可以通过”局部变量“窗口查看程序中局部变量的值,但是在一个方法中的自定义的普通变量怎么查看值呢?可以在监视窗口中添加你想跟踪监视的值的名称,但是今天遇到了一个问题,就是将我想跟踪的变量名(如循环中的i)添加到”监视1“窗口时,会提示”CXX0017:错误:没有找到符号”。在http://blog.csdn.net/xunixing/article/details/7892898 找到了答案,用了第一种方法就搞定了。这样在调试时,将鼠标放到你想查看的变量上面,就会显示它的值。感谢。

     

编程环境: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.  
  1. int _tmain(int argc, _TCHAR* argv[])  
  2. {  
  3.     float f = 123.0;   //声明并初始化   
  4.   
  5.     if(false)  
  6.     {  
  7.         int str1;   //if中声明新变量。关键!去掉此处可以解决问题,所以可在 if 外声明  
  8.     }  
  9.     else  
  10.     {  
  11.         //else中声明的变量在调试时,出问题  
  12.         int str2;  
  13.         int a = 123;   
  14.         a++;  
  15.     }  
  16.     return 0;  
  17. }  
情况 2. 解决方案 将 k 作为局部变量使用,即for(int k=0;k<2;k++)
  1. #include <stdio.h>  
  2.   
  3. int main()  
  4. {  
  5.     int arr[5];  
  6.     int k;    //循环变量,非局部  
  7.     float f=123;  
  8.   
  9.     for(k=0;k<2;k++)  
  10.     {  
  11.         arr[k] = 2;  
  12.   
  13.         int t = 5;  
  14.         printf("%d\n",t);  
  15.     }  
  16.   
  17.     int i = 2;  
  18.   
  19.     if(i > 0)    //if从句内出现的 新变量,也会出现问题  
  20.     {  
  21.         int joke;  
  22.         printf("waht\n");  
  23.     }  
  24.   
  25.     return 0;  
  26. }  
以上只是已测试的情况,如果类似问题,可参考进行调试

CXX0017: 错误: 没有找到符号

编程环境:Visual Studio 2010 首先确定是在 Debug 配置状态。 初始解决方案如下: 错误现象:CXX0017: Error: symbol this not found...
  • Xunixing
  • Xunixing
  • 2012年08月21日 20:03
  • 14158

vs2010无法查看自定义的普通变量(CXX0017:错误:没有找到符号)

在使用VS2010调试程序时,可以通过”局部变量“窗口查看程序中局部变量的值,但是在一个方法中的自定义的普通变量怎么查看值呢?可以在监视窗口中添加你想跟踪监视的值的名称,但是今天遇到了一个问题,就是将...

关于“CXX0017: 错误: 没有找到符号”问题的其他可能。

突然有一天发现自己的VS202在调试的时候不听使唤了,变量怎么也不显示,看了网上好多的帖子,基本上就是把编译优化选项设置为"/Od",但是我的本来就是"/Od",后来打开其他的项目,发现也是这个原因,...
  • Bevanst
  • Bevanst
  • 2016年04月20日 20:59
  • 685

CXX0017:Error:symbol "xxx" not found

在网上查到的解决方案都是,关闭

VC6.0 CXX0017:Error:symbol "xxx" not found问题解决方法

1. Visual C++打开项目,DEBUG模式。  2. 在 项目 菜单, 设置 , 单击, 然后单击 链接 选项卡。   3. 在 分类 列表, 单击 调试 。  4. 清除, 分离类型 ...
  • sky1718
  • sky1718
  • 2015年07月22日 16:42
  • 654

CXX0017:Error:symbol "xxx" not found 问题解决方法

C++程序运行调试过程中经常碰到CXX0017:Error:symbol "xxx" not found的问题(如下图所示),这是由于编译的时候优化代码所导致的,只要将编译优化选项设置为"/Od"就可...
  • jacksoon
  • jacksoon
  • 2008年05月21日 23:46
  • 12153

VS2010调试——CXX0017: 错误: 没有找到符号

在调试的时候看是否读取到了正确的节点信息,但是当我调试的时候,把变量拖到监视窗口里,竟然显示 CXX0017: 错误: 没有找到符号 这是由于把工程设置成了release模式导致的!因为在releas...

CXX0017: 错误: 没有找到符号

编程环境:Visual Studio 2010 首先确定是在 Debug 配置状态。 初始解决方案如下: 错误现象:CXX0017: Error: symbol this not found...
  • Xunixing
  • Xunixing
  • 2012年08月21日 20:03
  • 14158

关于“CXX0017: 错误: 没有找到符号”问题的其他可能。

突然有一天发现自己的VS202在调试的时候不听使唤了,变量怎么也不显示,看了网上好多的帖子,基本上就是把编译优化选项设置为"/Od",但是我的本来就是"/Od",后来打开其他的项目,发现也是这个原因,...
  • Bevanst
  • Bevanst
  • 2016年04月20日 20:59
  • 685

VS2010调试失败,因为没有启用集成 Windows 身份验证错误的解决办法

 由于身份验证错误,无法对请求调试的用户进行身份验证。当您尝试单步执行 Web 应用程序或 XML Web services 时,就可能出现此问题。导致此错误的一种原因是没有启用集成 Windows ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VS2010无法查看自定义的普通变量解决办法( CXX0017: 错误: 没有找到符号 )
举报原因:
原因补充:

(最多只允许输入30个字)