Bagaimana cara memulai kucing jantan dalam mode debug jarak jauh di bawah Ubuntu 10?

12

Saya mulai gila untuk mengatur Tomcat dalam mode debug jarak jauh di bawah ubuntu 10. Pada dasarnya saya menambahkan ini ke /etc/init.d/tomcat6 (di awal):

JAVA_OPTS="-Djava.awt.headless=true -Xmx256M -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

Tapi saya tidak melihat efek ... sebenarnya saya tidak bisa melihat port 8000 terbuka dengan netstat -a dan debugger jarak jauh Eclipse mengatakan tidak dapat terhubung. Jika saya melakukan ps -A u | grep java yang saya dapatkan:

tomcat6   9612  3.1 13.1 470560 154168 ?       Sl   15:24   0:17 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tmp org.apache.catalina.startup.Bootstrap start

Perhatikan itu bahkan tidak mengatur ukuran tumpukan (jika ini berarti).

Jadi ada petunjuk?

Gotch4
sumber

Jawaban:

16

Jangan menyentuh skrip init. Sebagai gantinya, edit file / etc / default / tomcat6 dan komentari baris yang memungkinkan debugging jarak jauh di sana:

# To enable remote debugging uncomment the following line.
# You will then be able to use a java debugger on port 8000.
JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
Jlliagre
sumber
Terima kasih sobat. Pokoknya apa perbedaan antara apa yang ada di etc / init.d dan etc / default?
Gotch4
Dalam kasus khusus itu perbedaannya cukup jelas. / etc / default setting menimpa apa pun yang sebelumnya diatur dalam /etc/init.d sebelum file default dibaca. Ini didokumentasikan di sekitar baris 90.
jlliagre