Hi!

Currently missing (official / really correct) support for PSQL debugging
is IMO something about trick decisions to make a really useful tool.

What would be the debugger tool?
- A special command-line tool? (difficult to implement and use,
non-standard tool)
- A special GUI tool? (difficult to implement, non-standard tool)
- Other?

How would client debug tool will interact with server?
- Another TCP port in the server? (firewall problems like with events)
- Other

How would debug tool will interact with database?
- Another attachment? (cannot interact with user transaction)
- Same attachment/transaction?

I have some ideas about these problems.

Firebird requests (statement execution) is about start/send receive loops.

I understand that debug communication (engine informing that execution
hit a breakpoint, client want the engine to resume/step) may be injected
at this and handled in internals of client.

Client may also asynchronous (like cancelOperation does) send actions
(wanting to suspend execution, informing new breakpoints, etc) to server.

Opening of a TCP port to interact with debug tool will be client
responsibility.

As for server/engine when a statement execution is suspended, it treats
attachment unlocked for new operations, so debug tool (with helper
client debug-module, with may be a plugin) may use the same
attachment/transaction from user.

And what about debug tool?

Client debug-module may use a existing debug protocol (java, javascript,
gdb, etc) and may be directly usable from existing standard debug tools.

While specially this last item requires some amount of research, this
set of decisions may be the easier and at the same time more useful
implementation for the feature.


Adriano

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to