How to start eclipse so you can attach a debugger?
You have to add the following to the vmargs:
-vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009
The 9009 is used later to attach to eclipse.
How attach to eclipse?
- create a new Debug->Remote Java Application.
- Set the port to to 9009 (or whatever you use as the address argument in your eclipse launch)
- On the Sources tab add the projects that you want to debug..
How to "patch" the running eclipse?
Just modify the code. Actually, I discovered this by accident. My problem was an obvious bug (missing check for null), so I fixed in during the debug session. And the usual eclipse "magic" fixed the bug in my running eclipse. It's the hot code replacement that normally happens. I (falsely) though that would only work when I start a runtime eclipse from within eclipse. But it works in any case.
Now I can fix my running eclipse while I'm normally working. The only downside is, that the two eclipse must use two different workspaces. Too bad.
Here's a flash demo video that shows how to do this step by step.