Hi Tom, Thanks for the explanation. W.R.T the PROFILE variable, I tried:
# ./configure --enable-debug # PROFILE="-O0" make As a result, both "-O2" and "-O0" presented to gcc. In that case, I believe "-O0" will be ignored by gcc. Did you mean to something else? Chao Li (Evan) ------------------------------ HighGo Software Inc. https://www.highgo.com/ Tom Lane <t...@sss.pgh.pa.us> 于2025年8月1日周五 11:30写道: > Chao Li <li.evan.c...@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. > > regards, tom lane >