Skip site navigation (1) Skip section navigation (2)

Re: Debugging PostgreSQL with GDB

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: Manolo SupaMA <manolo(dot)espa(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Debugging PostgreSQL with GDB
Date: 2008-04-01 15:43:24
Message-ID: 47F2581C.2020801@dunslane.net (view raw or flat)
Thread:
Lists: 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

In response to

pgsql-hackers by date

Next:From: Peter EisentrautDate: 2008-04-01 16:00:10
Subject: Several tags around PostgreSQL 7.1 broken
Previous:From: korryDate: 2008-04-01 15:42:00
Subject: Re: Debugging PostgreSQL with GDB

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group