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

From: "korry(dot)douglas" <korry(dot)douglas(at)enterprisedb(dot)com>
To: "Charlie Savage" <cfis(at)savagexi(dot)com>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Trouble with the PL/pgSQL debugger and VC++
Date: 2007-09-06 23:41:00
Message-ID: 46E0900C.60104@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Charlie Savage 2007-09-07 00:01:24 Re: Trouble with the PL/pgSQL debugger and VC++
Previous Message Tom Lane 2007-09-06 23:23:42 Re: [FEATURE REQUEST] Streaming Onlinebackup (Maybe OFFTOPIC)