pau*_*reg 446
在Java 5.0之前,使用-Xdebug
和-Xrunjdwp
参数.这些选项仍然适用于更高版本,但它将以解释模式而不是JIT运行,这将更慢.
从Java 5.0开始,最好使用-agentlib:jdwp
单个选项:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
Run Code Online (Sandbox Code Playgroud)
选项-Xrunjdwp
或agentlib:jdwp
参数是:
transport=dt_socket
:表示用于连接JVM的方式(套接字是一个不错的选择,它可以用来调试远程计算机)address=8000
:暴露TCP/IP端口,从调试器连接, suspend=y
:if'y',告诉JVM等待调试器连接开始执行,否则(如果'n'),立即开始执行.Han*_*son 287
我有这篇文章的书签,为Java 5及以下版本设置.
基本上运行它:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
Run Code Online (Sandbox Code Playgroud)
对于Java 5及更高版本,请运行它:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044
Run Code Online (Sandbox Code Playgroud)
小智 55
由于Java 9.0 JDWP默认仅支持本地连接. http://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435
对于远程调试,应该使用*:
in地址运行程序:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
Run Code Online (Sandbox Code Playgroud)
对于java 1.5或更高版本:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Run Code Online (Sandbox Code Playgroud)
对于java 1.4:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Run Code Online (Sandbox Code Playgroud)
对于java 1.3:
java -Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
Run Code Online (Sandbox Code Playgroud)
这是一个简单程序的输出:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 HelloWhirled
Listening for transport dt_socket at address: 1044
Hello whirled
Run Code Online (Sandbox Code Playgroud)
小智 7
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8001,suspend=y -jar target/cxf-boot-simple-0.0.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
address
指定允许调试的端口
**使用 Maven 调试 Spring Boot 应用程序:
mvn spring-boot:run -Drun.jvmArguments=**"-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
368441 次 |
最近记录: |