从终端在调试模式下运行 jar
2022-09-04 05:20:22
请假设问题的作者在2018年没有使用Java 5:
java -agentlib:jdwp=transport=dt_socket,address=8080,server=y,suspend=n -jar myTestApp.jar -file "myfile.txt -users myUser
顺便说一句:如果您使用Java 9及更高版本:更改为,因为localhost不再是默认值。address=8080
address=*:8080
停止告诉人们使用 -Xdebug
和 -Xrunjdwp
Xdebug用于Java 5及更低版本。从Java 6开始,就有了。 允许通过 访问调试器。现在,如果您使用并使用旧调试器,则 JIT 将以兼容模式启动,这会极大地减慢调试速度。然后,人们告诉使用来禁用兼容模式或添加以禁用旧调试器。不要这样做!-agentlib
Xdebug
Xrunjdwp
Xdebug
-Djava.compiler=NONE
-Xnoagent
-agentlib
Java 在指定要运行的类或 jar 后,只期望程序参数。因此,只需尝试将JVM选项放在该选项之前:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=127.0.0.1,suspend=n,address=8080 -jar myTestApp.jar -file "myfile.txt" -users myUser