Galen Boyer writes: [snip] > > We can't control how it starts, but we still might be able to > connect to the running process. Our problem is we don't know how > to get our the JDEE into those hooks. What parameters and such > does it expect... >
Hi Galen, Both JDEEbug and the JDEE/jdb debugger support the method established by Sun's Java Program Debug Architecture (JPDA) for connecting a debugger to a running process. The method is straightforward. You use a standard set of jvm command-line switches to start the jvm that runs the program to be debugged (e.g., a servlet). The switches tell the jvm on startup to listen for a debugger (server mode) or to connect to an already running debugger (client mode). These switches are specified in the JDK documentation and in the JDEE's JDEbug documentation. Similarly when you start the debugger, you must tell it to either connect to the vm running the debuggee program (attach mode) or to listen for the startup of the debuggee vm. Both JDEbug and JDEE/jdb have menu items that start the debugger in the desired mode for you. If you are trying to debug a program running in a vm embedded in another application, the container application must provide some means for you to tell it to start the embedded vm in debug server or client mode. For example, MATLAB, the product that pays my way, has a command line switch -jdb that starts its embedded vm in debug mode so that a user can use an external Java debugger, e.g., JDEbug, to debug Java programs running in the embedded vm. You need to find out whether iPlanet supports use of an external debugger and if so, how. - Paul
