XQuery Debugger API
At present there is no simple way to debug XQuerys running in eXist.
Debug capabilities need to be provided to support facilities such as: breakpoints, watches, local variables, stack traces and execution control (step-in, step-out, step-over, run to cursor).
It seems that each IDE or tool has its own API for debugging and as such a plugin for each must be developed. eXist may typically run in one of two modes - embedded or server.
When eXist is running as a server a protocol is needed to talk between the IDE plugin and the eXist server, this protocol should be the same for all the plugins and it would be prudent to use a known existing open protocol such as JDWP or DBGP. Whichever protocol we choose it must be able to support the debugging facilities of all the IDE's. Only as a last resort if the other options are considered unsuitable should we then consider developing our own debug protocol.
When eXist is running embedded the same protocol API could be used in-memory to communicate between the plugin and eXist.
oXygen
oXygen XML Editor provides an XQuery debugger that supports a number of popular XQuery processors such as Saxon. it would be advantageous to be able to use this with eXist.
Eclipse IDE
XQuery Development Tools is an effort to try and integrate XQuery development into Eclipse. It makes use of its own custom protocol.
There is also the XQuery Development Tools in the Eclipse Web Tools Incubator, that could be used.
The XSL Tools incubator at Eclipse, could be used to see how to hook into the Eclipse Debug framework, and possibly make it extensible.
Other
This attempt at a specification for a debugging protocol could also be of interest - http://www.xdebug.org/docs-dbgp.php This debugging protocol has already an eclipse client with DLTK (dynamic language toolkit: http://www.eclipse.org/dltk/).
- 0 Comments
- Add Comment
