Java Maven Eclipse Debug“;JDWP传输dt_套接字初始化失败,传输_INIT(510)";

Java Maven Eclipse Debug“;JDWP传输dt_套接字初始化失败,传输_INIT(510)";,java,eclipse,debugging,maven,jboss-weld,Java,Eclipse,Debugging,Maven,Jboss Weld,我试图在Eclipse中调试Maven测试。当我使用maven选项maven.surefire.debug启动测试时,会出现以下错误: ERROR: transport error 202: bind failed: Address already in use FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) ERROR: JDWP T

我试图在Eclipse中调试Maven测试。当我使用maven选项maven.surefire.debug启动测试时,会出现以下错误:

ERROR: transport error 202: bind failed: Address already in use
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:690]
/bin/sh: line 1: 27500 Abort trap        
当我尝试在shell中启动调试时也是如此

我尝试添加maven选项forkMode=never,但我的焊接工件出现了另一个错误,如果没有maven.surefire.debug选项,我就不会出现这个错误:

Error loading Weld bootstrap, check that Weld is on the classpath
然而,Weld在我的类路径上


有什么想法吗?

要终止侦听端口的进程,请执行以下操作:

此命令应列出侦听所有端口的进程:

netstat -ano
-o
选项将显示进程id

如果您使用的是*nix系统,您可以通过以下方式进一步细化:

netstat -ano | grep <badport> 
netstat-ano | grep
当您拥有进程id时,可以通过以下方式终止它:

窗口:

  • 打开任务管理器,使用视图>选择列>PID添加PID列
  • 找到进程并右键单击以终止它
其他:

kill <PID>
杀死
进入
调试配置
->
远程Java应用程序
->
连接
选项卡,选中
允许终止远程JVM


然后,当您要重新启动服务器/maven时,转到
调试透视图
,然后单击
读取/停止
按钮….

添加。。上周我遇到了类似的问题,当时无法使用eclipse进行调试

FATAL ERROR in native method: JDWP No transports initialized,
jvmtiError=AGENT_ERROR_TRANSPORT_LOAD(196)
ERROR: transport library not found: dt_socket
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509)
JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialized [../../../src/share/back/debugInit.c:690]
遗憾的是,我在网上找到的解决方案中没有一个是有用的

问题是,防火墙以某种方式删除了我JRE邮箱中的所有DLL。。。(因此dt_socket.dll完全丢失)


重新安装整个JRE很有帮助。

这个问题问了很久,但我最近也遇到了同样的问题

  • 打开任务管理器

  • 杀死所有“java.exe”进程

  • 重新启动mvn调试


  • 希望对我有帮助。解决方案是删除项目的断点!如果您有许多分支并且最近进行了更改,eclipse有时会丢失一些断点。

    仅用于文档说明,我在本地计算机上运行时出现了完全相同的错误:

    错误:传输错误202:绑定失败:地址已在使用中 本机方法中出现致命错误:JDWP未初始化任何传输,jvmtiError=AGENT\u ERROR\u TRANSPORT\u INIT(197) 错误:JDWP传输dt_套接字初始化失败,传输初始化(510)

    在我的例子中,端口不是问题所在,而是主机文件。解决方案是添加/重新添加/取消注释:

    127.0.0.1本地主机


    配置文件将
    localhost
    设置为默认值,因此解决方案是添加该主机或将其更改为自定义主机。

    对于Mac用户:

    通常问题是另一个进程保持Maven调试端口5005打开。 因此,我检查了哪个进程通过执行以下命令保持此端口打开:

    lsof -i tcp:5005
    
    结果是:

    COMMAND  PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
    java    9089 my_user    7u  IPv4 0xe88ec542fd4cffc9      0t0  TCP *:avt-profile-2 (LISTEN)
    
    然后我结束了这个过程:

    kill -9 9089
    
    如果您希望这两个进程能够一起运行,那么必须至少更改其中一个进程的Maven调试端口。
    请参阅:。

    首先删除eclipse中的所有调试点

    使用服务器端口搜索PID
    netstat-ano | find/i“7001”
    将7001替换为上述行中的端口号

    样品o/p C:\Users\shaithal>netstat-ano | find/i“7001” TCP 127.0.0.1:51340 127.0.0.1:7001同步发送17396

    然后终止这个过程 taskkill/F/PID 17396

    还使用调试端口搜索PID netstat-ano | find/i“8453” 8453是调试端口,在我的情况下,将8453替换为上行中的端口号

    样品o/p

    C:\Users\shaithal>netstat-ano | find/i“8453” TCP 0.0.0.0:8453 0.0.0.0:0听力19904

    然后终止这个过程
    taskkill/F/PID 19904

    我找到了解决方案。我用于调试的端口已经在使用中,可能是由于maven的错误。使用maven.surefire.debug时,maven在端口上等待。我杀了它一次,然后重新启动maven测试。解决方案是关闭打开的端口(我重新启动了我的机器,但可能有一个不太激进的解决方案…),您可以将其作为自己的解决方案发布,然后在一天后接受。很抱歉,无法识别-o选项。我在MacOS 10.6上工作。不过,这个解决方案似乎是个好主意。我认为你可以通过“sudolsof-I-P”在OSX上获得这些信息。你是对的。sudo lsof-i-P | grep工作正常。谢谢。在Ubuntu中,我添加了
    netstat-anop
    来列出pid。如果这有助于找到正确的进程来杀死它,我会在端口
    5005
    上发现有问题的java进程。我还看到它是作为命令执行的,比如
    java-Xdebug-Xnoagent-Djava.compiler=NONE-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005-jar xxxxxx