Re: Debugging PostgreSQL with GDB - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Debugging PostgreSQL with GDB
Date
Msg-id 47F2581C.2020801@dunslane.net
Whole thread Raw
In response to Debugging PostgreSQL with GDB  ("Manolo SupaMA" <manolo.espa@gmail.com>)
List pgsql-hackers

Manolo SupaMA wrote:
> Hi.
>
> I have problems on how to debug PostgreSQL on Linux using GDB. I made 
> some changes to src/backend/utils/sort/tuplesort.c but it hangs while 
> performing run formation (where my changes are).
>
> I configured it using
>
> ./configure --prefix="/usr/local/pgsql/8.3/" CFLAGS="-O0 -DTRACE_SORT" 
> --enable-debug --enable-cassert --enable-depend
>
> and trying to debug it using
>
> 'gdb postmaster'
> (which revealed to be not a very good idea) and
> 'gdb pg_ctl' followed by 'run -D /usr/local/psql/data'
>
> This last choice allowed me to set a breackpoint on puttuple_common 
> (contained into tuplesort.c) but then I'm unable to run 'psql'. 
> http://pastebin.com/m6a97b4dd
>
> I'm new on GDB and it's also my first postgrest patch. I just want 
> some suggestion to know if I'm on the right way or not.
>
> Thanks for your time.
>
> PS: I suppose I'll write some related  "HowTo Debug PostgreSQL with 
> GDB - Basics" for newbies like me.


The way to do this is to start the postmaster normally, run psql, and 
then attach the debugger to the backend that is talking to your psql 
session.

I would also personally advise using a gdb frontend like ddd. I am also 
told eclipse can work well.

cheers

andrew


pgsql-hackers by date:

Previous
From: "korry"
Date:
Subject: Re: Debugging PostgreSQL with GDB
Next
From: Peter Eisentraut
Date:
Subject: Several tags around PostgreSQL 7.1 broken