今天碰到了一个超级怪异的问题, Visual Studio 调试一段代码时,如下图:监视窗口显示这个变量有值,但是代码却执行到这个变量无值的逻辑中了。
为了这个问题,我简直疯了。
后来看到其中一些变量的察看时,会报错误
Cannot obtain value of local or argument 'oo' as it is not available at this instruction pointer, possibly because it has been optimized away.
在装配脑袋的提醒下,觉得可能是Visual Studio的代码优化导致了这个问题。
取消编译时候的代码优化。 再Debug,就没有这个问题。
竟然是代码优化导致了这个让我困扰了一下午的问题。
代码优化取消在下面位置, 取消 Optimize code 之前的 CheckBox 即可。黄线上面的选项