版本:vs2010,vs2010 sp1
现象: debugger不能正确处理局部变量的作用域
示例代码:
int
_tmain(
int
argc, _TCHAR
*
argv[])
{
int i = 5 ;
int sum = 0 ;
for ( int i = 0 ; i < 10 ; ++ i)
{
sum += i;
}
printf( " %d\n " , i);
return 0 ;
}
{
int i = 5 ;
int sum = 0 ;
for ( int i = 0 ; i < 10 ; ++ i)
{
sum += i;
}
printf( " %d\n " , i);
return 0 ;
}
在return语句处设置断点,可以看到printf输入为5,而watch中i值为10,10为循环语句中i的值,此处的i应为main函数中的i,值为5