238
A
回答
198
我已将this article设置为使用Eclipse for Java 5及更低版本进行设置。
基本上run it with:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044
对于Eclipse与Java 5 and above,与运行:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044
403
的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的方式(插座是个不错的选择,它可以用来调试远处的电脑)address=8000
:TCP/IP端口暴露,从调试器连接,suspend=y
:如果'y',告诉JVM等待直到调试器被连接开始执行,否则(如果'n')立即开始执行。
4
对于Java 1.5或更大:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
对于Java 1.4:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
用于Java 1.3:
java -Xnoagent -Djava.compiler=NONE -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 <YourAppName>
下面是一个简单的程序输出:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 HelloWhirled
Listening for transport dt_socket at address: 1044
Hello whirled
1
如果您使用Maven,那么存在很多环境问题。因此,如果您从maven启动程序,只需运行mvnDebug
命令代替mvn
,并在端口8000上附加调试器。它负责处理所有环境问题。
3
由于Java 9.0 JDWP默认仅支持本地连接。 http://www.oracle.com/technetwork/java/javase/9-notes-3745703.html#JDK-8041435
进行远程调试一个应该*:
在地址运行程序:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8000
相关问题
- 1. 为什么设置命令是空白
- 2. 为什么Swift允许双选项?
- 3. Java的-verbose:gc命令行选项的.NET等价物是什么?
- 4. 在Eclipse中远程Java调试之前运行命令
- 5. Java jdb远程调试命令行工具
- 6. 是命令“java”的JVM吗?
- 7. 设置命令行选项访问VBA
- 8. $ _SERVER未设置命令行-r选项?
- 9. BOOST程序选项命令行的格式是什么?
- 10. 仅为一个命令设置选项
- 11. 在Azure云服务上运行Java应用程序时,如何设置JVM命令行选项?
- 12. 设置weinre远程调试
- 13. 设置远程调试
- 14. 是否可以使用命令行作为远程调试Java项目的客户端?
- 15. Java为什么允许标签远离循环?
- 16. 为什么Linux的允许线程设置调度策略和优先级?
- 17. 为什么PostgreSQL COPY命令不允许数组内的NULL值?
- 18. 设置调试选项
- 19. 在MSDTC中,“允许远程客户端”和“允许远程管理”是什么意思?
- 20. JVM命令启动选项复制
- 21. 为什么java允许这样做?
- 22. devenv命令开关的配置选项是什么意思?
- 23. 升压程序选项允许设置输入值
- 24. ColdFusion jnbridge许可证是否允许(命令行)使用jnbproxy?
- 25. 什么是所有的Maven命令行选项?
- 26. 什么是scala -i命令行选项应该做的?
- 27. 什么是VB6 IDE(编译器)的命令行选项
- 28. 为什么ORACLE不允许在命令中使用连续的换行符?
- 29. 允许为datagridview设置NULL?
- 30. 为什么getopt_long忽略一些命令行选项
你是完全正确的。我试着用** - Xdebug的**和** - ** Xrunjdwp但它没”工作。当我尝试使用** - Xrunjdwp **或** agentlib:jdwp **它正在工作。(在Java 7上) – RoboAlex 2012-06-01 06:02:12