■ 好的链接

参考地址:
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;
	}
}

04-11 04:00