可以设置哪些Java命令行选项以允许对JVM进行远程调试?
时间:2020-03-06 14:46:30 来源:igfitidea点击:
我知道有一些JAVA_OPTS可以设置为远程调试Java程序。
它们是什么,它们是什么意思?
解决方案
我将本文标记为使用Eclipse for Java 5及更低版本进行设置。
基本上使用以下命令运行它:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
对于具有Java 5及更高版本的Eclipse,请使用以下命令运行它:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044
在Java 5.0之前,请使用-Xdebug和-Xrunjdwp参数。这些选项在以后的版本中仍然可以使用,但是它将以解释模式而不是JIT运行,这会比较慢。
从Java 5.0开始,最好使用-agentlib:jdwp单个选项:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1044
-Xrunjdwp或者agentlib:jdwp参数的选项是:
transport = dt_socket
:表示用于连接JVM的方式(socket是一个不错的选择,可用于调试远程计算机)address = 8000
:公开的TCP / IP端口,用于通过调试器进行连接,suspend = y
:如果为'y',则告诉JVM等待直到添加了调试器开始执行,否则(如果为'n'),立即开始执行。