■ 好的链接
参考地址:
debug
■ watch窗口中,变量值不会刷新
有时候在watch窗口中,变量值不会刷新,这时候就需要查看一下"View->Periodic Window Update"是否已勾选,如果没勾选,变量只有在第一次添加或停止调试时才会刷新。另外当窗口里一次性加载了一个很大的数组,当展开数组时,变量刷新也会变得很慢,并且软件会变卡顿。
■ 当选择了非0级优化时
当选择了非0级优化时,调试可能会变得困难,具体表现在断点调试。比如现在下面的代码,代码优化的关系,有可能把case0、1、2里的return 1都合并成一行,导致运行调试时,无论当前程序进入了哪个分支,使用断点时都只会进其中一个。所以当开启代码优化等级后,需要注意断点调试将变得不可信。另外优化编译后,有部分代码也将无法打断点(被优化的代码)。
switch (xx)
{
case 0:
{
do_something0();
return 1;
}
case 1:
{
do_something1();
return 1;
}
case 2:
{
do_something2();
return 1;
}
default:
{
return 0;
}
}