Problems with the "debug" command

Project:JNode Core
Component:Code
Category:task
Priority:normal
Assigned:Unassigned
Status:active
Description

The "debug" command does not run at the moment. It looks like the JDWP instance (which we got from Classpath) is failing to initialize because of a configuration problem. Then it tries to call System.exit(1) ... and dies with a SecurityException.

Work items:

  1. We need to figure out what is missing from the JWDP configuration.
  2. The JWDP instance should not be calling System.exit().
  3. The JWDP instance should not write to System.out/err. It should use a supplied Stream instead.
  4. The copy of JWDP in our codebase is old, and contains local hacks. We should either use a newer Classpath copy of JWDP, or use the Sun equivalent.
  5. If we continue with Classpath JDWP, we should try to refactor our local modifications and send the relevant parts to the Classpath team. It would be good if we could use the upstream JDWP without change in the future.
  6. The "debug" command does not provide a way to kill the JDWP thread. It looks like it will keep running until a remote debugger disconnects.
  7. There does not seem to be any authentication of the remote debugger.

The last two items are security issues ...