debuging postgres
Hi all,
in order to debug "step by step" the postmaster,
just to understand better the code, is it enough
to compile it after having exported:
CFLAGS='-O0 -g' ?
do you have any hint and/or tips ?
BTW what do you use for this task ?
Regards
Gaetano Mendola
in order to debug "step by step" the postmaster,
just to understand better the code, is it enough
to compile it after having exported:CFLAGS='-O0 -g' ?
do you have any hint and/or tips ?
BTW what do you use for this task ?
./configure --enable-debug
Chris
Christopher Kings-Lynne wrote:
in order to debug "step by step" the postmaster,
just to understand better the code, is it enough
to compile it after having exported:CFLAGS='-O0 -g' ?
do you have any hint and/or tips ?
BTW what do you use for this task ?
./configure --enable-debug
Is this enough? I'm seeing that with --enable-debug only the
option -g is passed to the compiler and the option -O2 is
still there, is it not better compile with -O0 if you are
going to debug it?
Regards
Gaetano Mendola
Gaetano Mendola <mendola@bigfoot.com> writes:
Christopher Kings-Lynne wrote:
./configure --enable-debug
Is this enough? I'm seeing that with --enable-debug only the
option -g is passed to the compiler and the option -O2 is
still there, is it not better compile with -O0 if you are
going to debug it?
If you want to single-step through the code a lot, then -O0 is good.
But are you really gonna do that so much? I do most of my tracing
at the level of function calls.
I tend to use -O1 as a compromise setting --- the code isn't totally
scrambled but it doesn't run like a dog either. (Also, for development
purposes, -O0 is evil because it disables certain useful warnings in
gcc.)
regards, tom lane
Tom Lane wrote:
Gaetano Mendola <mendola@bigfoot.com> writes:
Christopher Kings-Lynne wrote:
./configure --enable-debug
Is this enough? I'm seeing that with --enable-debug only the
option -g is passed to the compiler and the option -O2 is
still there, is it not better compile with -O0 if you are
going to debug it?If you want to single-step through the code a lot, then -O0 is good.
But are you really gonna do that so much? I do most of my tracing
at the level of function calls.
Of course not, but given that I don't know nothing I guess at the
beginning in order to see what is going on and understand how the code
work I need to "inspect" some variables some times.
I tend to use -O1 as a compromise setting --- the code isn't totally
scrambled but it doesn't run like a dog either. (Also, for development
purposes, -O0 is evil because it disables certain useful warnings in
gcc.)
Thank you for the advice.
Regards
Gaetano Mendola
Is this enough? I'm seeing that with --enable-debug only the
option -g is passed to the compiler and the option -O2 is
still there, is it not better compile with -O0 if you are
going to debug it?
Well, I use the following:
./configure --prefix=blah --enable-debug --enable-cassert
--enable-depend --with-openssl --with-perl --with-pam
(Or something like that)
My theory is that the more I compile in the more that gets tested :)
Chris