This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I am running Tomcat 5.5 on xp. I am able to start tomcat just fine, but if I start it in debug mode, the dos window opens and shuts before I can see anything and nothing appears in any of the logs. I am using the following script from the bin directory to start it:
catalina.bat jpda start
The only thing I was able to find in forums was that port 8000 may allready be open by another application. I checked and it is not.
Actually, there may not be anything wrong at all. You can start Tomcat manually from a DOS command window and not have to deal with the "flashing window" effect, but that may just be a meaningless distraction anyway.
What you actually need to determine is if, in fact, Tomcat opened port 8000 for debugging, regardless of what the windows do. I am of course, assuming that Tomcat did start up - which can be determined by sending a URL to http://localhost:8080 when running a default Tomcat.
Tomcat does not run its own debugger UI. JPDA simply sets up a listener in Tomcat's JVM that external debuggers will communicate with using tcp/ip port 8000 (or whatever port you select). You can use any conformant remote debug client, from the simplistic text-mode one that's included with the stock JDK up to and beyond the fancy GUI-based ones in most popular Java IDEs such as Eclipse, IntelliJ and NetBeans.
An IDE is no substitute for an Intelligent Developer.
Joined: Oct 29, 2007
I tried to start it via command line and received the same open and shut dos window. I then tried to hit http://localhost:8080 to no avail.
2. Set JAVA_HOME to point to the JDK that will run Tomcat (assuming you didn't set it at the system level via Control Panel). Remember that pathnames with spaces in them such such as "Program Files" need to be quoted.
3. Double-check #2 by issuing the command "java -version" at the command prompt.
4. cd to the TOMCAT home directory.
5. Issue the command "bin\catalina jpda start".
You may or may not see anything come back to this window (normally, it will at least list environment settings) and you MAY see one or more other windows pop open and shut. YMMV.
If there isn't anything informative in the command window after all this, look at logs\catalina.out AND any logs whose name starts with "localhost". Often when catalina,out has nothing it's because the problem is so severe that only the localhost logger records it. In fact, little else usually goes there.
Joined: Oct 29, 2007
I have copleted the steps in the post above and still get the same result. Nothing gets written to any of the log files.
I'm running out of suggestions - I don't entrust the open Internet to Windows, so I'm not as well versed on Windows-specific Tomcat configurations. However SOMETHING should be coming out, especially if you can run OK without JPDA.
I'm thinking that there's an interceptor that can route logs to the Windows Event logger. And I'm virtually certain that there are Windows versions of Tomcat that use an alternative log location instead of catalina.out, but I never knew where.
One thing worth trying is to attempt to run the "java" command with the same jvm debug setting as you're using with Tomcat and see how it reacts. You can use any old Java application as the executable, since it's only the debug settings you're interested in here.
Based on that information, then, I think you had debugging set up to pause the debugger at startup. So Tomcat WAS (technically) running, but hadn't started writing messages out to the logs. It was waiting for a "go" command from the debugging client.
A good place to set things like the JPDA port is in TOMCAT_HOME\bin\setenv.bat. This file doesn't come with Tomcat. You have to create your own. Look at the catalina.bat file to see how it's used.