When I compile my C++ program with g++
using the -Og
option I see variables that are <optimized out>
, and also the current line sometimes skips around. Is this behaviour expected at this optimization level, or do I have some problem? The man page of gcc says:
-Og
Optimize debugging experience. -Og
enables optimizations that do not interfere with debugging. It should be the optimization level of choice for the standard edit-compile-debug cycle, offering a reasonable level of optimization while maintaining fast compilation and a good debugging experience.
hence I did not expect this behaviour. On my system I have g++ version 4.9.2 and gdb version 7.7.1.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…