Yanıtlar:
Bu makale Java 5 ve altı için bu ayar imi var .
Temel olarak ile çalıştırın :
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
İçin yukarıda Java 5 ve bunu çalıştırmak:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044
Java 5.0'dan önce -Xdebugve-Xrunjdwp bağımsız değişkenler. Bu seçenekler daha sonraki sürümlerde çalışmaya devam edecektir, ancak daha yavaş olacak olan JIT yerine yorumlanmış modda çalışacaktır.
Java 5.0'dan, -agentlib:jdwptek seçeneği kullanmak daha iyidir :
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
Üzerindeki seçenekler -Xrunjdwpveya agentlib:jdwpbağımsız değişkenler:
transport=dt_socket : JVM'ye bağlanmak için kullanılan yol anlamına gelir (soket iyi bir seçimdir, uzak bir bilgisayarda hata ayıklamak için kullanılabilir)address=8000 : TCP / IP portu açık, hata ayıklayıcıdan bağlanmak için, suspend=y : 'y' ise, JVM'ye yürütmeyi başlatmak için hata ayıklayıcı eklenene kadar beklemesini söyleyin, aksi takdirde ('n' ise) hemen yürütmeye başlar.Xrunjdwpkaldırılmış (veya kaldırılır?) Neden alacağını agentlib:jdwpbitti?
-Xdebug -XrunjdwpMaven projelerinde hata ayıklarken kullanır ve JIT'lenmiş gibi çalışırlar.
Java 9.0'dan beri JDWP varsayılan olarak yalnızca yerel bağlantıları destekler. http://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435
Uzaktan hata ayıklama için bir *:adres ile programı çalıştırmak gerekir :
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
Java 1.5 veya üstü için:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Java 1.4 için:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Java 1.3 için:
java -Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
İşte basit bir programdan çıktı:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 HelloWhirled
Listening for transport dt_socket at address: 1044
Hello whirled
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8001,suspend=y -jar target/cxf-boot-simple-0.0.1-SNAPSHOT.jar
address hata ayıklamaya izin vereceği bağlantı noktasını belirtir
** Maven ile Spring Boot uygulamasında hata ayıklama:
mvn spring-boot:run -Drun.jvmArguments=**"-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001"
İşte en kolay çözüm.
Maven kullanıyorsanız, çok sayıda ortam özel yapılandırması gerekir. Yani, programınızı maven'den başlatırsanız, mvnDebugkomut yerinemvn uygulamanızı uzaktan hata ayıklama yapılandırılmış olarak başlatmaya özen gösterir. Artık bağlantı noktası 8000'e bir hata ayıklayıcı ekleyebilirsiniz.
Sizin için tüm çevre sorunlarıyla ilgilenecektir.
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=PORT_NUMBER
Burada sadece dt_socket aktarımı yapılandırıldığında ve VM sunucu hata ayıklama modunda çalışırken varsayılan olarak etkinleştirilen bir Soket Takma Konektörü kullanıyoruz.
Daha fazla bilgi için şu adrese başvurabilirsiniz: https://stackify.com/java-remote-debugging/
*:1044, herhangi bir bilgisayardan uzaktan hata ayıklamayı etkinleştirmek gibi adresinizi yapılandırmak isteyebilirsiniz