使用gdb调试C++程序时,感觉不按流程执行,跳来跳去的解决办法
时间:2015-06-09 11:52:11
收藏:0
阅读:1361
在使用gdb进行调试的时候,依赖于g++的编译结果,因为在编译时默认使用了优化,所以导致没按代码顺序执行,其实只需要将g++的编译优化关掉就可以了。
gdb调试程序的时候打印变量值会出现<value optimized out> 情况,可以在gcc编译的时候加上 -O0参数项,意思是不进行编译优化,调试的时候就会顺畅了,运行流程不会跳来跳去的,发布项目的时候记得不要在使用
-O0参数项,gcc 默认编译或加上-O2优化编译会提高程序运行速度.
原文:http://blog.csdn.net/wanglei9876/article/details/46424095
评论(0)