【调试】vs(visual studio)调试时无法看到变量的值

编程语言:C++
编译平台:VS visual studio
系统:Windows
问题解决记录:
调试时,加了断点,单步运行时却看不到变量的值。
发现是因为我使用了try catch结构去捕捉错误,但是我的变量定义也是放在try 语句块里面。导致变量无法被编译器初始化,产生了这种调试问题。
例如:

try
{
   int nCount=5;//调试时此处加断点,单步运行,发现看不到nCount的值
   nCount = nCount +20;
}
catch (...)
{
   TRACE(" error ");
}

解决方法:将变量的声明移到try catch结构的外面。
修改后:

int nCount;// 声明放到try 外面
try
{
   nCount=5;//调试时此处加断点,单步运行,能看到nCount的值
   nCount = nCount +20;
}
catch (...)
{
   TRACE(" error ");
}

另外注意到一个问题:
变量声明放到switch case结构里时,编译器会报错。
举一反三,猜测可能也会有其他结构不允许放置变量声明的。

你可能感兴趣的:(C++,编程)