Re: debugging C functions

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: debugging C functions
Дата
Msg-id 17641.1056117025@sss.pgh.pa.us
обсуждение исходный текст
Ответ на debugging C functions  ("Nigel J. Andrews" <nandrews@investsystems.co.uk>)
Список pgsql-general
"Nigel J. Andrews" <nandrews@investsystems.co.uk> writes:
> Attaching the debugger to the backend process I can't set a break
> point on my function, it says 'Function "blah" not defined' and when
> it segments somewhere under SPI_execp called from my function the
> stack trace has all the postgres symbols but just a '??' at the place
> my function is obviously sitting.

You won't be able to set a breakpoint in the function if its shared
library hasn't been loaded into the process yet.  I'd suggest something
like

    <start fresh session>
    psql=> LOAD 'libraryname';
    <attach to backend with gdb>
    gdb> b myfunc
    gdb> cont
    psql=> SELECT myfunc();

If gdb still claims not to know the function with this approach, you
probably also need to issue a "sharedlibrary" command to gdb to force
it to absorb symbol definitions from the shlib.  I think on most
platforms the above sequence will work without that, though.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Doug McNaught
Дата:
Сообщение: Re: dropping sequences
Следующее
От: "Johnson, Shaunn"
Дата:
Сообщение: splitting a table?