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

单步调试时,看不到变量的值,该如何处理

2012-04-04 
单步调试时,看不到变量的值vc6.0void test(){CString strstr djklfjlkd}分步调试时,看不到str的

单步调试时,看不到变量的值
vc6.0

void test(){
  CString str="";
  str = "djklfjlkd";
}

分步调试时,看不到str的值,
在watch1 里提示:strCXX0017: Error: symbol "str" not found
这是怎么回事,我试过好多次



[解决办法]
只有一个错误吗?
CString是MFC里的类,你在这里使用应该是未定义类型吧?

C/C++ code
#include <string>#include <iostream>using namespace std;void test() {   string str="";   str="djklfjlkd";}
[解决办法]
你要正好运行到void test()函数里的,一旦出了这个函数Str就是不可见的,因为是局部变量,建议你在这个变量后面在写点语句,然后再打个断点看看,应该是没有问题的
[解决办法]
要注意,只有当前执行到
void test() {
string str="";
str="djklfjlkd";
}
这个函数内部时,才能看到这个str的值,出了这个函数,这个变量都不存在了,你当然就不能看到了.
因为你的str是一个局部变量,有效范围就在这个函数里面.

所以你要确定,watch其值是,你的程序是否运行到这个函数中.
[解决办法]
任何变量都有生命期。

热点排行