On 13/11/2009 13:29, maven apache wrote:
2009/11/13 Pid <p...@pidster.com <mailto:p...@pidster.com>> On 13/11/2009 13:16, maven apache wrote: 2009/11/13 Pid <p...@pidster.com <mailto:p...@pidster.com> <mailto:p...@pidster.com <mailto:p...@pidster.com>>> On 13/11/2009 02:33, maven apache wrote: 2009/11/12 Christopher Schultz<ch...@christopherschultz.net <mailto:ch...@christopherschultz.net> <mailto:ch...@christopherschultz.net <mailto:ch...@christopherschultz.net>>> -----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 <http://127.0.0.1:1044> <http://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 <mailto:users-unsubscr...@tomcat.apache.org> <mailto:users-unsubscr...@tomcat.apache.org <mailto:users-unsubscr...@tomcat.apache.org>> For additional commands, e-mail: users-h...@tomcat.apache.org <mailto:users-h...@tomcat.apache.org> <mailto:users-h...@tomcat.apache.org <mailto:users-h...@tomcat.apache.org>> Thanks for your detailed information. I check it with my own configuration and found that the connection is established ,however I did not know since there is no message,so I try to connect the server side again, so I got the connect failed error................ And now I can connect it ,since I found each time I after I connect the tomcat start window will show a message in the below: Listening for transport at ...1044. That to say I think the connect of the debug is successful, and I have add breakpoints in the servlet,so I open a browser and enter: http://localhost:9000/helloServlet or If you have a Connector (in server.xml) configured on port 9000 then examine the catalina.out and the other log files for information. I enter " http://localhost:9000" I can get the tomcat welcome page,but I got a 404 error when I entered "http://localhost:9000/MT-web" And I found under the catalina-home/webapp there is no folder named MT-web. Have you actually deployed a webapp called MT-web to Tomcat? I though the debugger will copy it for me ,but If I copy it manually ,is the breakpoint useful?
The debugger will not deploy the app, try doing so yourself. p
p If the Connector is on a different port use that, e.g. 8080. http://localhost:8080/helloServlet http://localhost:1044/helloServlet ,but none of them can open the page, and the IDE did not turn to the class where I have add the breakpoints. Tomcat doesn't serve pages on 1044 - that's purely for the JVM debugger. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org <mailto:users-unsubscr...@tomcat.apache.org> <mailto:users-unsubscr...@tomcat.apache.org <mailto:users-unsubscr...@tomcat.apache.org>> For additional commands, e-mail: users-h...@tomcat.apache.org <mailto:users-h...@tomcat.apache.org> <mailto:users-h...@tomcat.apache.org <mailto:users-h...@tomcat.apache.org>>
--------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org