Saya memiliki aplikasi java yang berjalan di mesin linux. Saya menjalankan aplikasi java menggunakan yang berikut:
java myapp -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=4000, suspend=n
Saya telah membuka port 4000 untuk TCP pada mesin Linux ini. Saya menggunakan gerhana dari mesin Windows XP dan mencoba untuk terhubung ke aplikasi ini. Saya telah membuka port di windows juga.
Kedua mesin berada di LAN tetapi saya sepertinya tidak bisa menghubungkan debugger ke aplikasi Java. Apa yang saya lakukan salah?
java
debugging
remote-debugging
dzidzitop
sumber
sumber
Jawaban:
Sunting: Saya perhatikan bahwa beberapa orang memotong dan menempel doa di sini. Jawaban yang awalnya saya berikan hanya relevan untuk OP. Berikut gaya doa yang lebih modern (termasuk menggunakan port 8000 yang lebih konvensional):
Jawaban asli berikut.
Coba ini:
Dua poin di sini:
runjdwp
opsi.sumber
-agentlib
opsi gaya-baru untuk kesenangan memotong dan menempel Anda. :-)Untuk JDK 1.3 atau sebelumnya:
Untuk JDK 1.4
Untuk JDK yang lebih baru:
Silakan ubah nomor port sesuai kebutuhan Anda.
Dari java technotes
Satu hal lagi yang perlu diperhatikan, dari dokumentasi antarmuka JVM Tool :
sumber
Langkah:
Lihat Panduan langkah demi langkah pada debugging jarak jauh Java untuk detail lengkap.
sumber
Jawaban yang mencakup Java> = 9:
Untuk Java 9+, opsi JVM perlu sedikit perubahan dengan mengawali alamat dengan alamat IP mesin yang menjadi tuan rumah JVM, atau hanya
*
:Ini disebabkan oleh perubahan yang dicatat di https://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435 .
Untuk Java <9, nomor port cukup untuk terhubung.
sumber
Saya ingin menekankan bahwa urutan argumen itu penting .
Bagi saya
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -jar app.jar
perintah membuka port debugger ,tetapi
java -jar app.jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
perintah tidak .sumber
Ini adalah bagaimana Anda harus mengatur Eclipse Debugger untuk debugging jarak jauh:
Pengaturan Eclipse:
1. Klik Tombol Jalankan 2. Pilih
Konfigurasi Debug
3. Pilih "Aplikasi Java Jarak Jauh"
4. Konfigurasi Baru
Untuk JBoss:
1. Ubah
/path/toJboss/jboss-eap-6.1/bin/standalone.conf
di vm Anda sebagai berikut: Batalkan komentar pada baris berikut dengan menghapus #:Untuk Tomcat:
Dalam file catalina.bat :
Langkah 1:
Langkah 2:
Langkah 3: Jalankan Tomcat dari command prompt seperti di bawah ini:
Maka Anda perlu mengatur breakpoints di kelas Java yang ingin Anda debug.
sumber
JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
ps maaf untuk pengeditan, berkelahi dengan formatter.