要设置哪些 Java 命令行选项以允许远程调试 JVM?
我知道有一些可以设置来远程调试Java程序。JAVA_OPTS
它们是什么,它们是什么意思?
我知道有一些可以设置来远程调试Java程序。JAVA_OPTS
它们是什么,它们是什么意思?
在Java 5.0之前,使用和参数。这些选项在更高版本中仍然有效,但它将在解释模式而不是JIT模式下运行,JIT会变慢。-Xdebug
-Xrunjdwp
从 Java 5.0 开始,最好使用以下单个选项:-agentlib:jdwp
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
上的选项或参数为:-Xrunjdwp
agentlib:jdwp
transport=dt_socket
:表示用于连接到JVM的方式(套接字是一个不错的选择,它可以用来调试远处的计算机)address=8000
:TCP/IP 端口公开,从调试器进行连接,suspend=y
:如果为'y',则告诉JVM等到附加调试器后才开始执行,否则(如果为'n')立即开始执行。我在为Java 5及更低版本设置此内容时将本文加入书签。
基本上运行它:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
对于 Java 5 及更高版本,请使用以下命令运行它:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
如果希望 Java 在执行应用程序之前等待您连接,请替换为 。suspend=n
suspend=y