Re: debugging C functions

From: "Islam Hegazy" <islheg(at)gawab(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "Joe Conway" <mail(at)joeconway(dot)com>, <pgsql-general(at)postgresql(dot)org>
Subject: Re: debugging C functions
Date: 2007-06-04 04:37:45
Message-ID: 030101c7a663$03f48c80$0d0e9f88@pc.cpsc.ucalgary.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I do the same but I use the ddd debugger
1) Load the shared library from the SQL
2) Open the .c file of my function
3) Place the break points
4) Execute the sql statement 'Select * from Myfn(...);'

The result is displayed and the debugger doesn't stop at the breakpoints.

Are there any steps missing?

Regards
Islam Hegazy

----- Original Message -----
From: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Islam Hegazy" <islheg(at)gawab(dot)com>
Cc: "Joe Conway" <mail(at)joeconway(dot)com>; <pgsql-general(at)postgresql(dot)org>
Sent: Sunday, June 03, 2007 10:00 PM
Subject: Re: [GENERAL] debugging C functions

> "Islam Hegazy" <islheg(at)gawab(dot)com> writes:
>> Thanks for your replies, they were very helpful to me. Unfortuantely, I
>> can't trace the C function. PostgreSQL returns the results directly and
>> the
>> debugger doesn't stop at the breakpoints in the C function.
>
> Well, you need to deal with that last, because you will never get very
> far if you can't debug your code.
>
> My experience is that gdb needs help to recognize a shared library's
> symbols. It works for me to LOAD the shared library (from SQL) before
> attaching to the backend with gdb. If you can't do that, gdb's
> "sharedlibrary" command might do it.
>
> regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Sergei Shelukhin 2007-06-04 06:29:07 Re: insane index scan times
Previous Message Tom Lane 2007-06-04 04:00:09 Re: debugging C functions