From: | Dave Page <dpage(at)pgadmin(dot)org> |
---|---|
To: | Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com> |
Cc: | pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org> |
Subject: | Re: PATCH: Handle the cross type of debugging (context & in-context) on same function at the same time |
Date: | 2013-07-08 13:30:34 |
Message-ID: | CA+OCxowaS4w1SZKeWF-ib=F=crrKae70i1rYQa_PAf0jYQX1xw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-hackers |
Hi
On Fri, Jul 5, 2013 at 8:14 AM, Ashesh Vashi
<ashesh(dot)vashi(at)enterprisedb(dot)com>wrote:
> Hi Dave,
>
> During testing of the debugger, our (EnterpriseDB's) QA found an issue.
> Please found the scenario:
>
> 1. Start a global (in-context) debugging session on a function (by
> clicking on Debugging -> Set breakpoint)
> 2. And, then start the direct debugging session on the same function (by
> clicking on Debugging -> Debug)
>
> As the global debugging session is already waiting for this function, the
> debugging will start in that environment.
> Now - if we try to close the direct debugging session, pgAdmin will throw
> an error saying pldbg_abort_target() does not exist.
>
> Because - the direct debugging session has not yet started, we do not have
> the session-id in that environment.
> Hence, we need to inform only the execution connection to get terminated,
> and that resolved the issue.
>
> But - other problem came up, when we once again close the direct debugging
> session. As we're already in the closing operation,
> it once again try to close the execution connection, which is not write
> and this time the pgAdmin became unresponsive.
>
> In order to resolve this problem, we need to introduce the flag to let
> know the debugger frame that we're already in process of stopping
> the session.
>
> Please find the patch, which will resolve this issue.
>
This has a really weird effect:
- Set a global break point on a function.
- Start to direct-debug the same function.
- Enter the function parameters and start debugging.
- The execution is captured by the global session.
- Run the function to completion
- The result is displayed in the direct session.
The attached screenshot shows what I mean (I hope).
Please also find an updated patch attached, that fixes spelling and
language issues.
--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Attachment | Content-Type | Size |
---|---|---|
Screen Shot 2013-07-08 at 14.29.21.png | image/png | 272.4 KB |
handle_cross_multi_session_debuging.patch | application/octet-stream | 6.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Page | 2013-07-08 13:43:54 | pgAdmin III commit: If the function, which is being debugged, raise too |
Previous Message | Dinesh Kumar | 2013-07-08 13:03:54 | Re: pgAdmin Event Trigger Compatibility |