【问题标题】:configuring _JAVA_OPTIONS for remote debug, I always get ERROR: JDWP为远程调试配置_JAVA_OPTIONS,我总是得到错误:JDWP
【发布时间】:2015-03-01 21:36:16
【问题描述】:

美好的一天,我正在尝试调试我的代码,这是一个使用 vertx lein 的 clojure 代码...一般我使用

export JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"

这很完美,但我不知道为什么当我使用lein vertx project 时会忽略这些 JAVA_OPTS,基本上远程调试器没有启动

在 stackoverflow 中搜索我发现我可以使用 _JAVA_OPTIONS 代替,现在当我运行我的项目时,我的 jvm 似乎完美地采用了这些选项,但在打开套接字后失败

lein vertx run
Picked up _JAVA_OPTIONS: -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
Listening for transport dt_socket at address: 4000
Picked up _JAVA_OPTIONS: -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
ERROR: transport error 202: bind failed: Address already in use
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_

这不是与端口地址有关的问题,我已经尝试使用 7000,5050,5000,9000,4848,48148,18787 并且每个地址都失败了...我还尝试检查什么应用程序正在使用港口

netstat -ap | grep 18787

它是空的,基本上任何应用程序都在使用相同的端口...

我也尝试将 jvm_opts 添加到我的 project.clj

:jvm-opts ["-Xdebug" "-Xnoagent" "-Djava.compiler=NONE" "-Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"]

它也不起作用... 这些是我之前测试过的一些选项

export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"
--- src/yvertx3 » export JVM_OPTS="-agentlib:jdwp=transport=dt_socket, address=1043, server=y, suspend=n"

export JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"


export _JAVA_OPTIONS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"

export JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999" 

export _JAVA_OPTIONS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"

export _JAVA_OPTIONS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n $JAVA_OPTS"

任何线索将不胜感激...谢谢!!

【问题讨论】:

    标签: java clojure jvm


    【解决方案1】:

    您使用的选项仅设置dt_socket 端口。要修复此错误,您应该更改 vertx 服务器本身使用的端口。

    【讨论】:

      猜你喜欢
      • 2013-09-07
      • 2018-02-09
      • 2014-03-10
      • 1970-01-01
      • 2019-04-03
      • 2018-06-24
      • 2012-11-24
      • 2010-10-16
      • 2010-11-27
      相关资源
      最近更新 更多