C++项目经编译、链接生成可执行文件
集成开发环境可生成两种类型的可执行文件,分别为Release版本、Debug版本
Release版本是为发布版本,会尽可能对程序进行优化,使得程序体积更小、运行地更快
Debug版本是为程序员排查程序源码的bug而设置的,尽可能保留一切对调试有帮助的信息,也即尽量不优化代码
C++的优化级别有多种,像O0、O1、O2、O3等,这里不详述
笔者使用VSCode对C++项目调试时,发现调用过程中部分变量值不可见,显示为“optimized out”状态,解决这个问题需要关闭编译C++项目时的优化选项,执行configure命令时进行下述设置
./configure CFLAGS='-g -O0'