Re: Trouble with the PL/pgSQL debugger and VC++

Поиск
Список
Период
Сортировка
От korry.douglas
Тема Re: Trouble with the PL/pgSQL debugger and VC++
Дата
Msg-id 46E0900C.60104@enterprisedb.com
обсуждение исходный текст
Ответ на Trouble with the PL/pgSQL debugger and VC++  (Charlie Savage <cfis@savagexi.com>)
Ответы Re: Trouble with the PL/pgSQL debugger and VC++  (Charlie Savage <cfis@savagexi.com>)
Список pgsql-hackers
> Since my version of pg is built with VC++ I thought it wise to also 
> use VC++ for the debugger plugin.  So I converted the Makefile into 3 
> different VC++ projects - pldbgapi, plugin_debugger and targetinfo. 
> Note that targetinfo is not mentioned at all in the comments at the 
> top of Makefile - you may wish to update them.
Hi Charlie, thanks for the feedback (and thanks for the patches!).

Can you e-mail the VC++ projects that you created? (You can do that 
off-list).  I have VC++ here but I haven't tried to do a PG build in 
that environment yet (guess it's time to learn).

> However, I can't set any breakpoints using PgAdmin.  I know the dlls 
> are loaded via Process Explorer, and in fact I can attach to them with 
> the VC++ debugger.
When you say that you can't set any breakpoints using PgAdmin, does that 
mean that the menu choices ("Set Breakpoint" and "Debug") just don't 
appear? Or are they there but don't do anything?  Or are you getting an 
error message?

Can you gather a PgAdmin log file (see Options on the File Menu, then 
choose the Logging tab, check "Debug") and send it to me.  That will 
give me some clues.

>
> 5. SELECT * FROM pldbg_wait_for_target(1);
>
> At this point the session hangs, as explained in your email.  So what 
> happens next?  I tried:
>
> *  Opening a new pgadmin window and doing step 6 (SELECT * FROM 
> pldbg_wait_for_breakpoint(1);).  That didn't work.
That won't work... you want to open another session and SELECT 
testwhere(7) from the new session.

The first session is your debugger client, the second session is the 
target process (the application that you are debugging).
> * I tried executing the function (select testwhere(7);).  That didn't 
> work.
I presume that you mean that the debugger session was still hung in the 
call to pldbg_wait_for_target(1), right?

Did you remember to set shared_preload_librarys = 
'$libdir/plugins/plugin_debugger' in your postgresql.conf file (and 
restart the server aftwards)?.

            -- Korry


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

Предыдущее
От: Charlie Savage
Дата:
Сообщение: Trouble with the PL/pgSQL debugger and VC++
Следующее
От: Charlie Savage
Дата:
Сообщение: Re: Trouble with the PL/pgSQL debugger and VC++