Chao Li <li.evan.chao@gmail.com> writes: > I noticed that "./configure --enable-debug" will set "-O2" to CFLAGS. To > better debug/trace the code, I have to manually change "-O2" to "-O0" in > src/Makefile.global.
This has been intentional for decades. It is not a bug. You're certainly welcome to use different CFLAGS locally if that suits your habits better.
In my mind, at least, the rationale is that we don't want to give up more performance than we have to in debug builds, nor let the behavior deviate from what it would be in production.
It is true than in some cases it's too hard to trace the behavior of optimized code. What I usually do if I get frustrated while debugging is to recompile specific file(s) at -O0. The PROFILE variable is handy for injecting that switch.