-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 To whom it may concern,
On 11/11/2009 8:33 PM, maven apache wrote: > Thanks for your attention. > Actually I did not modify the catalina.bat directly , I create a new bat > named debug.bat in the same directory, the content of the debug.bat is : > ----------------------------------------------------------------------------------------------------------- > cd %CATALINE_HOME%/bin This is not spelled correctly. It should be CATALINA_HOME, not CATALINE_HOME. > set JPDA_ADDRESS=1044 > set JPDA_TRANSPORT=dt_socket This is the default JPDA_TRANSPORT when using Tomcat's startup scripts. > set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE > -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 > startup > --------------------------------------------------------------------------------------------------------------- > Then I start the tomcat with the debug.bat. It's tough to tell where the lines end due to word wrapping, but it looks like this script doesn't do anything but set environment variables. Is the "startup" word actually on a separate line from the "set CATALINA_OPTS" line? I'll assume so, otherwise nothing would happen. Note that you could have put these settings into bin/setenv.sh and it would be called before calling catalina.bat. Finally, Tomcat allows you to specify the JPDA_* environment variables so that you don't then have to re-specify everything in CATALINA_OPTS. Try deleting your debug.bat file and instead put this into your CATALINA_BASE/bin/setenv.bat file: set JPDA_ADDRESS=1044 set CATALINA_OPTS=-server -Xnoagent -Djava.compiler=none Note that catalina.bat will auto-build the following command-line arguments when starting up the JVM, given my above settings: - -Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n Now, you have to start Tomcat like this: %CATALINA_BASE%\bin\catalina.bat jpda start This should start Tomcat using all the JPDA options. If you don't use "jpda start", then all the JPDA_* environment variables are useless. I can see why you ended up specifying everything in CATALINA_OPTS: because Tomcat was otherwise ignoring all your settings. After you get Tomcat started, you'll need to verify that the JPDA options were actually enabled. If they were, you should have something listening on port 1044: C:\Tomcat> netstat -a -o | find "1044" If the above command shows something like this: TCP 127.0.0.1:1044 Krang:0 LISTENING 332 Then JPDA has properly started and is listening on that port. If not, try running the netstat command without the "| find" part to see if that's failing (I tried adding "-b" argument and I got a "requires elevation" error, so the "find" of course didn't work). If there's nothing listening on port 1044, then your JPDA configuration is broken and you should re-post with your current progress. If it's listening, then you have a problem with your debugger and/or firewall issues. Since the subject of this thread is "remote debug", I suspect you are trying to debug over a network. What is the relationship between the server and the client? Are there firewalls involved? Does JPDA bind to 127.0.0.1 or to 0.0.0.0 (or some other IP address)? If it binds to 127.0.0.1, then you'll need an ssh tunnel or something to turn a remote connection into a localhost one. - -chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkr8LgUACgkQ9CaO5/Lv0PDznwCcDKN6CgOYuBYOaOsLnANxBcpE LacAn1oX3+2oOk5BEBiY20jL54juaN2L =LdC4 -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org