At 10:25 AM 9/21/99 -0700, Robert Field wrote:
>==> At 03:49 PM 9/20/99 -0500, you wrote:
>==> >Paul,
>==> >
>==> >Thanks for the info on turning this option off. I turned it off only to
>==> >find a bug in the JPDA/HOTSPOT combo that causes the VM to die randomly.
>==> >What I would like to do is have the -classic flag set. My error results
>==> >from the -classic arg not being the first argument to the VM. If I run
>==> the >same command as JDEbug tries, it fails stating that the -classic
is an
>==> >invalid argument. If I move the -classic argument to the front of the
>==> >command-line, it works as expected. Are you able to run with the
-classic
>==> >arg in an arbitrary possition ? I was under the impression that it
had to
>==> >be first. Here is my JDEbug beffer again. also attached my .emacs & a
>==> >common lisp file. >
>==>
>==> Okay, I guess I'm confused. The reason I included the "classic-mode"
>==> variable was to insures that the -classic switch is always first on the
>==> command-line because I had heard that that was required. By "first" I
>==> thougth this was meant
>==>
>==> java -classic other-args
>==>
>==> rather than this
>==>
>==> java some-args -classic some-other-args
>==>
>==> This is what the -classic mode switch now does.
>==>
>==> In the case of JDEBug, there is no way of guaranteeing that the -classic
>==> switch is first on the command line. This is because JPDA constructs the
>==> java command line by combining the args it needs with whatever args you
>==> specify. The args that JPDA requires always go first on the command line
>==> followed by the user's args. AFAIK there is no way for JDEBug to
manipulate
>==> this order to ensure that -classic goes before all other arguments.
>
>Paul,
>Both from my reading of the code and my tests, the user supplied
>options go first, for example:
>
>/export/1.3/build/solaris/bin/../bin/sparc/green_threads/java -classic
>-Xdebug -Xnoagent -Djava.compiler=NONE
>-Xrunjdwp:transport=dt_socket,address=palau:55272,suspend=y A
>
>Can you send the generated command line.
>
Here is a transcript of a JDEBug session using the -classic option:
Line 1 javaw -classpath
d:/jde-2.1.6beta9/java/lib/jde.jar;d:/jpda/lib/jpda.jar jde.debugger.Main
Line 2
Line 3
Line 4 (jde-dbo-init-debug-session)
Line 5
Line 6 JDE> -1 1 launch 1 -use_executable javaw -classic -classpath
d:/jmath/classes;d:/jmath/src jmath.Test
Line 7
Line 8
Line 9
Line 10 (jde-dbo-command-error
Line 11 1 "VM initialization failed for:
D:\Applications\JavaSoft\JRE\1.2\bin\javaw -Xdebug -Xnoagent
-Djava.compiler=NONE
-Xrunjdwp:transport=dt_shmem,address=javadebug,suspend=y -classic
-classpath d:/jmath/classes;d:/jmath/src jmath.Test")
Line 1 Starts the debugger.
Line 4 Acknowledgement from the debugger.
Line 6 Launch command. Note inclusion of the -classic option as first of
the user-supplied arguments.
Line 7 Error message showing the command line that the debugger attempted
to use to start the application.
Note that the user-supplied arguments, e.g., -classic, -classpath,
come after the arguments generated
by the debugger.
I haven't yet checked Amit's code so I don't know whether the problem lies
with the JDEBug java code or with JPDA.
- Paul