【问题标题】:Debugging is not working in Netbeans Tomcat调试在 Netbeans Tomcat 中不起作用
【发布时间】:2016-05-31 10:27:20
【问题描述】:

当我尝试在 Netbeans 8 IDE 中调试我的项目时出现以下错误,我使用的是 Apache Tomcat 8。

FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: failed to create shared memory listener: Cannot create a file when that file already exists
ERROR: JDWP Transport dt_shmem failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750

我无法理解这个问题。

谁能给我解释一下问题,问题的原因和解决方案。

谢谢

【问题讨论】:

    标签: java tomcat netbeans netbeans-8 tomcat8


    【解决方案1】:

    我有同样的问题,确实是由 hello_earth 提到的。可能当您打开任务管理器时,您会看到多个 java se 进程正在运行。杀死他们两个,然后它再次起作用。

    【讨论】:

    • 是的,Java 进程在幕后运行。在 TaskManager 中杀死它后,我可以毫无问题地运行我的服务器。
    【解决方案2】:

    在 Netbeans 中,转到: 服务选项卡 >> 服务器 >> Apache Tomcat >> 单击属性 >> 启动选项卡 >> 调试器传输:选择(套接字端口)而不是共享内存。

    【讨论】:

      【解决方案3】:

      在我的情况下,这发生在杀死/或试图强制杀死从 Netbeans 启动的挂起的 tomcat 实例之后。要么它没有被完全杀死(一些打开的文件?),或者在我杀死它之后,Netbeans 又以某种方式再次产生了它。杀死tomcat并重新启动netbeans为我解决了这个问题。

      【讨论】:

      • 只是补充一点,sysinternals 的 Process Explorer 将是一个很好的工具,可以确定所有正在运行的 java.exe 进程中的哪一个是运行 tomcat 的进程
      【解决方案4】:

      某处,端口已被占用,你要检查在哪里。 (有时可能是Skype)。 此外,您可以尝试将默认值覆盖为 local.properties 文件中的其他参数。

      tomcat.debugjavaoptions=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=8005,suspend=n
      

      【讨论】:

      • 我使用的是 8080 端口,所以我不明白你的意思。谢谢
      • 重点是,你使用的端口被占用了,所以你必须使用另一个或者让它空闲
      • 那么,如果我在 Netbeans -> 服务器中更改端口号,它会起作用吗?谢谢
      • 最好检查一下这个端口在哪里使用。可能是 Skype(就像我之前说的),所以关闭它并重新启动服务器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      相关资源
      最近更新 更多