Saya tidak bisa men-debug aplikasi kucing jantan melalui Eclipse. Saya sudah mengatur
CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
dan kemudian saya menjalankan bin/catalina.sh
, di mana saya melihat output mengatakan itu mendengarkan untuk dt_socket
di port 8000
. Tetapi setiap kali saya mencoba menghubungkan ke port 8000
di Eclipse (dengan menambahkan entri di menu aplikasi java jarak jauh), ia mengeluh tentang koneksi yang ditolak. Ada ide?
Jawaban:
Bisakah Anda memeriksa apakah ini berhasil?
sumber
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
catalina.bat jpda start
suspend
menentukan apakah jvm harus menunggu debugger atau melanjutkan. Lihat dokumen ini .catalina.sh jpda start
sudah cukup. Catalina.sh memiliki beberapaJPDA_*
parameter yang dapat digunakan, misalnya untuk mengubah port, lihat file untuk dokumentasi.Saya menghabiskan beberapa waktu untuk ini untuk mendapatkan informasi yang benar.
Jadi, inilah informasi rinci langkah demi langkah.
Lingkungan: Windows 7
Versi TomCat: 7.0
IDE: Gerhana
Konfigurasi yang akan ditambahkan untuk mengaktifkan debugging jarak jauh dengan in tomcat adalah
Saya tidak merekomendasikan konfigurasi di atas dari lingkungan non windows. Untuk menambahkan konfigurasi di atas, klik dua kali pada server tomcat yang akan tersedia di tampilan server. Temukan tangkapan layar di bawah ini.
Sekarang tambahkan konfigurasi lingkungan runtime di atas ke tomcat. Untuk cek di bawah ini screenshot.
Sekarang masuk ke tab Arugments di Edit properti konfigurasi peluncuran seperti yang ditunjukkan di bawah tangkapan layar.
Bagian argumen GoTo VM menambahkan baris ini.
Sekarang ada tombol debug yang tersedia di toolbar eclipse.
Dalam konfigurasi Debug temukan "Aplikasi Java Jarak Jauh" dan klik dua kali di atasnya.
Di kolom Name masukkan nama yang Anda suka.
Dari bidang proyek menggunakan tombol jelajah pilih proyek yang ingin Anda lakukan debug jarak jauh.
Nama host tidak lain adalah alamat host. Di sini saya bekerja secara lokal jadi "localhost".
Terakhir kolom Port nilainya harus 8000. Selain kolom teks Name dan Project, dua kolom lainnya Host dan port akan diisi oleh eclipse itu sendiri jika tidak membuat Anda memiliki nilai yang sama seperti yang disebutkan. Periksa Screen shot untuk info.
Sekarang klik kanan pada TomcatServer di konsol server pilih Tambah dan Hapus dari menu konteks. Dari dialog ini Anda dapat menambahkan proyek ke server.
Sekarang jalankan server Tomcat.
Sekarang jalankan TomCatDebugConfiguration dari Alat Debug.
Terakhir buka browser internal atau eksternal dan jalankan proyek Anda. Jika kontrol eksekusi mencapai break point maka gerhana akan meminta perspektif debug.
sumber
Di direktori tomcat bin tempat
catalina.bat
atau.sh
ditemukan (alias {CATALINA_BASE} / bin), edit (buat jika tidak ada):Tambahkan baris berikut:
Hanya itu yang perlu Anda lakukan, Anda tidak perlu mengedit file
catalina.bat
(atau.sh
).Lihat komentar di
catalina.bat
ataucatalina.sh
.Anda mungkin harus menyesuaikan sintaks untuk lingkungan / situasi tertentu Anda. Misalnya, jika Anda sudah menentukan CATALINA_OPTS, Anda mungkin melakukan sesuatu seperti ini (di lingkungan windows):
Untuk men-debug dari Eclipse:
run-> Konfigurasi debug ...-> Aplikasi Java Jarak Jauh-> Baru
dan tentukan nama, proyek yang Anda debug, dan host tomcat serta port debug yang ditentukan di atas.
sumber
setenv.bat
dalambin
direktori letakkan baris sepertiset JPDA_OPTS= -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n
, gunakanstartup.bat
untuk memulai tomcatDalam
catalina.bat
file, harap ubah di bawah ini.Langkah 1:
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
Langkah 2:
JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"
Langkah 3: Jalankan Tomcat dari command prompt seperti di bawah ini:
catalina.sh jpda start
Langkah 4: Kemudian di eclipse buat konfigurasi debug
project name
.Standard(Socket Attach)
localhost
8000
(atau nomor port apa pun, tetapi itu juga harus sama di tempat lain).sumber
Banyak dari jawaban di atas benar, tetapi ingat bahwa secara default debugger hanya akan mendengarkan di localhost. Jika Anda men -debug server jarak jauh, Anda perlu menentukan alamat ip untuk didengarkan, misalnya
Perhatikan bahwa alamatnya sekarang adalah 10.1.1.33 : 8000
Tentu saja, Anda juga dapat memeriksa IP mana yang sebenarnya sedang digunakan, dengan menjalankan
pada windows dan Linux dan menyaring port dengan
find
(Windows) ataugrep
(Linux).sumber
Jalankan saja
./catalina.sh jpda start
(garpu) atau./catalina.sh jpda run
(bukan garpu, tidak disebutkan dalam bantuan). Semua opsi yang disebutkan di sini default ke nilai-nilai waras.sumber
Izinkan saya berbagi cara sederhana untuk mengaktifkan mode debugging jarak jauh di tomcat7 dengan eclipse (Windows).
Langkah 1: buka file bin / startup.bat
Langkah 2: tambahkan baris di bawah ini untuk debugging dengan opsi JDPA (itu harus memulai baris file)
Langkah 3: di file yang sama .. pergi ke akhir file, ubah baris ini -
langkah 4: lalu jalankan saja bin> startup.bat (jadi sekarang server kucing jantan Anda berjalan dalam mode jarak jauh dengan port 8000).
langkah 5: setelah itu mari hubungkan proyek sumber Anda dengan eclipse IDE dengan klien jarak jauh.
step6: Di Eclipse IDE, buka "debug Configuration"
step7: klik "aplikasi java jarak jauh" dan kemudian klik "Baru"
step8. di tab "hubungkan" setel nilai parameter
step9: klik terapkan dan debug.
jadi akhirnya klien jarak jauh eclipse Anda terhubung dengan server kucing jantan yang sedang berjalan (mode debug).
Semoga pendekatan ini bisa membantu Anda.
Salam..
sumber
Ubah catalina.bat untuk ditambahkan
dan
Opsional: Tambahkan baris di bawah ini untuk menjalankan mode debug secara default saat Anda menjalankan startup.bat
Eclipse atau STS pilih konfigurasi debug klik kanan -> baru
sumber
Jika masih semua cara di atas tidak berhasil, Anda selalu dapat menambahkan ke skrip
sumber
Di tomcat 7, catalina.sh memiliki kode ini:
Ii menyiratkan bahwa Anda dapat mengatur JPDA dengan:
Atau dengan:
Dan terakhir gunakan:
catalina.sh jpda start
Salam
sumber
Saya mengalami masalah ini saat menjalankan Tomcat di dalam wadah Docker. Untuk memperbaikinya, pastikan Anda menambahkan argumen '-p 8000: 8000' dalam perintah jalankan buruh pelabuhan untuk mengekspos port ini ke mesin lokal Anda. Anda tentu saja membutuhkan file setenv.sh di $ {CATALINA_HOME} / bin / di dalam container Anda juga.
sumber
Memodifikasi startup.bat dengan CATALINA_OPTS AND JPDA_OPTS tidak berhasil untuk saya tetapi menambahkannya ke catalina.bat berhasil
CATALINA_OPTS = "- Xdebug -Xrunjdwp: transport = dt_socket, alamat = 8000, server = y, suspend = n"
JPDA_OPTS = "- agentlib: jdwp = transport = dt_socket, address = 8000, server = y, suspend = n"
ubah panggilan "% EXECUTABLE%" mulai% CMD_LINE_ARGS% menjadi
panggil "% EXECUTABLE%" jpda start% CMD_LINE_ARGS%
Kemudian konfigurasikan aplikasi java jarak jauh dalam konfigurasi debug Anda di Eclipse.
sumber
Pertama-tama, jika Anda membuka catalina.bat dengan editor teks, Anda akan melihat bahwa: "Jangan setel variabel dalam skrip ini ....." Jadi jangan pernah mengubahnya di skrip itu, sebagai gantinya Anda dapat melakukan langkah-langkah di bawah ini:
Kemudian atur 2 variabel di file bat itu seperti:
setel CATALINA_OPTS = "- Xdebug -Xrunjdwp: transport = dt_socket, address = 8000, server = y, suspend = n"
set JPDA_OPTS = "- agentlib: jdwp = transport = dt_socket, address = 8000, server = y, suspend = n"
Terakhir jalankan di cmd bahwa: "catalina.bat jpda start"
Di IDE, buat konfigurasi debug jarak jauh dan setel host ke ip dan port server terkait ke 8000.
sumber
Untuk versi apache-tomcat-8.5.28 lakukan saja ini,
Karena pengaturan default sudah dikonfigurasi untuk kita di catalina.bat sebagai
Jadi tidak perlu konfigurasi lain. Dan ketika Anda menjalankan perintah catalina.bat jpda start, Anda dapat melihat port debug 8000 terbuka.
sumber
Lihat jawaban ini untuk masalah yang saya alami dengan Java 8 dan Tomcat 9: Java remote debugging (JPDA) tidak berfungsi untuk saya di Tomcat 9
Ini mirip dengan peringatan @ DAB, dan solusinya kemungkinan besar lebih aman.
sumber
Untuk apache-tomcat-8.5.28
modifikasi
JDPA_OPTS
seperti di bawah ini lalu jalankan seperticatalina.bat jpda start
sumber