有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Maven Eclipse Debug“JDWP Transport dt_socket未能初始化,Transport_INIT(510)”

我试图在Eclipse中调试Maven测试。当我使用maven选项maven启动测试时。当然可以。调试,我得到了这个错误:

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,这是不可能的。当然可以。调试选项:

Error loading Weld bootstrap, check that Weld is on the classpath

然而,Weld在我的课堂上

有什么想法吗


共 (6) 个答案

  1. # 1 楼答案

    加上。。上周我遇到了类似的问题,当时无法使用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有帮助

  2. # 2 楼答案

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

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

    netstat -ano
    

    -o选项将显示进程id

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

    netstat -ano | grep <badport> 
    

    当您拥有进程id时,可以通过以下方式终止它:

    窗口:

    • 打开任务管理器,添加带有视图的PID列>;选择列>;PID
    • 找到进程并右键单击以终止它

    其他:

    kill <PID>
    
  3. # 3 楼答案

    转到Debug configuration->Remote Java Application->Connect选项卡,选中Allow termination of remote JVM

    然后,当您要重新启动服务器/maven时,转到Debug perspective并单击read / stop按钮

  4. # 4 楼答案

    就为了文档,我在本地计算机上运行时出现了完全相同的错误:

    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)

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

    127.0.0.1 localhost

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

  5. # 5 楼答案

    对于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调试端口。 见:http://maven.apache.org/surefire/maven-surefire-plugin/examples/debugging.html

  6. # 6 楼答案

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

    1. 打开任务管理器

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

    3. 重新启动mvn调试

    希望能有所帮助