You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Gregor Schneider <rc...@googlemail.com> on 2008/11/19 16:54:57 UTC

Tomcat Native 6 Remote Debugging (JPDA)

Hi guys,

we're running Tomcat on Debian on port 80 using Tomcat Native (JSVC).

Now I'm wondering wether it's possible to get remote debugging working here.

I've adapted the the startup-script as follows:

<code>

#!/bin/sh
export LD_LIBRARY_PATH=/home/tomcat/www/bin/tomcat-native-1.1.3/jni/native/.libs
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
CATALINA_HOME=/home/tomcat/www/
DAEMON_HOME=/home/tomcat/www
TOMCAT_USER=tomcat

# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/home/tomcat/www

if [ "$2" = "jpda" ]
then
        JPDA_OPTS="-Xdebug
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
fi

CATALINA_OPTS="-Djava.library.path=/home/tomcat/www/bin/tomcat-native-1.1.3/jni/native/.libs
$JPDA_OPTS"
#CATALINA_OPTS=""

CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

case "$1" in
  start)
    #
    # Start Tomcat
    #
    #$DAEMON_HOME/src/native/unix/jsvc \
    echo "Starting tomcat"
    $DAEMON_HOME/bin/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$TMP_DIR \
    -Dlog4j.configuration=log4j.xml \
    -wait 10 \
    -pidfile $PID_FILE \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile '&1' \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
    exit $?
    ;;

  stop)
    #
    # Stop Tomcat
    #
    echo "Stopping tomcat"
    $DAEMON_HOME/bin/jsvc \
    -stop \
    -pidfile $PID_FILE \
    org.apache.catalina.startup.Bootstrap
    exit $?
    ;;

  *)
    echo "Usage tomcat.sh start/stop"
    exit 1;;
esac

</code>

netstat shows me that tomcat is listening on port 8787, however, when
connection from within Eclipse (Ganymed), it tell's me "Failed to
connect to remote VM. Connection timed out".

tcp        0      0 0.0.0.0:8787            0.0.0.0:*
LISTEN     6780/jsvc.exec
tcp        0      0 0.0.0.0:21              0.0.0.0:*
LISTEN     2328/vsftpd
tcp        0      0 10.170.202.3:443        0.0.0.0:*
LISTEN     6780/jsvc.exec
tcp6       0      0 :::8009                 :::*
LISTEN     6780/jsvc.exec
tcp6       0      0 :::80                   :::*
LISTEN     6780/jsvc.exec

Now I'm wondering:

- Is it a problem with the native wrapper that it can't cope with
remote-debugging?

- Is it that we're running on port 80, but eclipse requires port 8080
? (haven't found anything to specify a port in Eclipse anyway)

Has anybody got that combination running ever before?

Tomcat-version is 5.5.20 btw.

Cheers

Gregor
-- 
what's puzzlin' you, is the nature of my game
gpgp-fp: 79A84FA526807026795E4209D3B3FE028B3170B2
gpgp-key available @ http://pgpkeys.pca.dfn.de:11371

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org