Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [Dltk-dev] Welcome Johan Compagner as a new technology.dltk Committer


  i guess you have somewhat of a unique situation here because you are able to start the parent application from within eclipse. while it is annoying to have to suffer some kind of user interaction to start the session, i think both mechanisms will need to be supported in the end since there are probably people out there who will want to use the firefox plugin.

I dont say we nee to drop anything ofcourse.
Especially if we need to integrate also to other things.
I am just saying that we also should support real remote embedded debugging.


We now do start the application to debug from within eclipse. But this is not new thats what the _javascript_ debugger already did..  It started up a process then then connects back to eclipse to debug a script.
But our application can also be started if needed completely outside eclipse, even if needed on another host.  So then eclipse cant really start it, just connect to it.

In eclipse we have our own quick start buttons. That starts up the application and then later on also starts up a remote debugger process to it. The starting up part is the next time you press that button just ignored
because the application is only started once during a life time of an eclipse startup.



  i believe that some of the rse implentation is supposed to handle some of this so 'remote' clients can appear as if they were local file systems and interpreters can run as if they were local to eclipse, but model breaks down for me in the embedded case because eclipse can not start the parent application the perl interpreter is embedded in. my situation is pretty much akin to an apache server running mod perl, so i have no choice but to rely on listening for an outgoing connection - yes it's annoying, but that's 100x better (for me) then having no debugger at all.


that case of perl embedded in an parent application that is completely separate from eclipse thats what we have.
And with remote debugging this would just work. You start up you application where ever you want you give it a flag like -debug:port=10000 and your embedded perl interpreter (or the app itself) just opens up a server socket on that port
and start listening. (suspending doing anything running or just goes ahead with what ever it wants and only start to debug when you are connected to that port.)
Then in eclispe you have a remote launch configuration where you say connect to host X port 10000 and eclipse doesnt try to start anything but just opens up a socket to it.



  how are you handling source lookup right now? are you attempting to map the source back into the project workspace, or are you relying on the fact that dbgp will send back the source contents if requested (support for both currently exists, although there are issues associated with both when it comes to breakpoints that i'm working to resolve).

No the same source lives on both places , And when the debugger is connected it is compiled with linenumber info and the debugger (so a debuggable script is generated instead a compiled or interpreted)
We have our own "hot swap" implemented so if you save a script in eclipse we push that to the client in our own way (separate of the _javascript_ debugger) and it is compiled again

Let me first figure out what things i can commit pretty harmless so that i can cleanup my outstanding code because i have quite a lot of changes (bug fixes and improvements like remote debug)
Then i can send you a patch so that you can also quickly look at it if you want. And see how we integrate it correctly and nicely reusable for everybody.

johan



Back to the top