From: | Charlie Savage <cfis(at)savagexi(dot)com> |
---|---|
To: | "korry(dot)douglas" <korry(dot)douglas(at)enterprisedb(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Trouble with the PL/pgSQL debugger and VC++ |
Date: | 2007-09-07 00:01:24 |
Message-ID: | 46E094D4.9040207@savagexi.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Korry,
> 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).
Done.
>
>> 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?
Let me see if I can clarify. Both choices are available from the
PgAdmin menu.
When I choose Debug a window opens asking me to set the value for the
parameter to the fucntion I do that, hit OK. But then the window just
reappears again.
If instead I do "Set Breakpoint" then I get a window that says "Waiting
to set breakpoint in core.testwhere" with a progress bar (note there is
a debugger window behind it also). That window never goes away. When I
press cancel I get a Debug Assertion Failure:
close.c, line 47
Expression (fh >= 0 && (unsigned)fh < (unsigned)_nhandle)
> 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.
Yes, will do.
>> * 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.
I thought each pgadmin sql window was its own session though (they have
different backend pids)? No?
> 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)?.
Yes. And checked it a few times :)
FYI the readme includes the .so ($libdir/plugins/plugin_debugger.so') if
I remember correctly, might want to remove that.
Charlie
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Davis | 2007-09-07 00:03:42 | Re: [FEATURE REQUEST] Streaming Onlinebackup (Maybe OFFTOPIC) |
Previous Message | korry.douglas | 2007-09-06 23:41:00 | Re: Trouble with the PL/pgSQL debugger and VC++ |