Explanation of changes
Closed this issue · 1 comments
Hi there, I'm the lead dev for Komodo IDE. I just found out about this repository and just wanted to first and foremost say thank you for sharing your work with others! While I don't know exactly what your work entails I'm always happy to see people paying it forward, especially with more complicated code such as this.
That said, would you be able to explain a little bit of what you have done with this codebase? ie. what features have you added/removed, what were your motivations? I'd love to get a sense for what this adds over the functionality we offer.
Thank you :)
Hi,
first of all, I'm very happy I found the Komodo debugging helper, it saved me from a lot of work; I did not try to contribute my changes because I did not think they would be relevant to the use in Komodo.
My goal is having a debugger I can use with various editors, and for scripting (via https://github.com/mbarbon/dbgp-client). I started with the Komodo debugging helper because it was a working DBGp implementation, but I'm not using Komodo.
There are various set of changes:
- support for multi-process (specifically Plack + uWSGI) so the debugger opens a new DBGp connection on each request (see also https://github.com/mbarbon/plack-middleware-dbgp)
- performance improvements, for example 01a250f, 5528431, 08fe97e
- Xdebug compatibility (because all other debuggers are written against Xdebug, not against the DBGp spec): 48cf3f1, 4956fc0, df4f881, ec03772
- allow connecting over Unix-domain sockets (to avoid having an open port in a semi-shared environment)
- code cleanup (use strict, fbe6ba6, 8373985)
- removed interact command (not in Xdebug, so there is no editor support, and I can get a better result using https://github.com/mbarbon/devel-repl-inprocess): d212d36
- added tests for most commands, and various fixes for bugs found during testing
The list of commits above is not exhaustive, I just picked some commits that I though were significant. See also the https://raw.githubusercontent.com/mbarbon/perl-remote-debugging-client/master/TODO).
Let me know if you need more detail on specific changes.