Re: PATCH: Handle the cross type of debugging (context & in-context) on same function at the same time

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: PATCH: Handle the cross type of debugging (context & in-context) on same function at the same time
Дата
Msg-id CA+OCxowaS4w1SZKeWF-ib=F=crrKae70i1rYQa_PAf0jYQX1xw@mail.gmail.com
обсуждение исходный текст
Ответ на PATCH: Handle the cross type of debugging (context & in-context) on same function at the same time  (Ashesh Vashi <ashesh.vashi@enterprisedb.com>)
Ответы Re: PATCH: Handle the cross type of debugging (context & in-context) on same function at the same time  (Ashesh Vashi <ashesh.vashi@enterprisedb.com>)
Список pgadmin-hackers
Hi


On Fri, Jul 5, 2013 at 8:14 AM, Ashesh Vashi <ashesh.vashi@enterprisedb.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
Вложения

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

Предыдущее
От: Dave Page
Дата:
Сообщение: Re: pgAdmin Event Trigger Compatibility
Следующее
От: Dave Page
Дата:
Сообщение: pgAdmin III commit: If the function, which is being debugged, raise too