在分离后,能否将调试器附加到Java进程?

在分离后,能否将调试器附加到Java进程?,java,debugging,jdwp,Java,Debugging,Jdwp,如果使用参数运行java进程-Xdebug-agentlib:jdwp=transport=dt_socket,suspend=n,server=y,address=9000,则一旦调试器连接到该端口,该进程将停止侦听该端口。然后,一旦调试器分离,您就无法再次连接到它。一旦调试器被分离,有没有办法附加它?或者是否有一个jdwp代理服务器始终连接到进程,并允许调试器随意连接和分离?简短的回答是肯定的,您应该能够重新连接。这样做应该没有问题。如果在分离/连接期间多个应用程序尝试绑定到同一端口,可能会

如果使用参数运行java进程
-Xdebug-agentlib:jdwp=transport=dt_socket,suspend=n,server=y,address=9000
,则一旦调试器连接到该端口,该进程将停止侦听该端口。然后,一旦调试器分离,您就无法再次连接到它。一旦调试器被分离,有没有办法附加它?或者是否有一个jdwp代理服务器始终连接到进程,并允许调试器随意连接和分离?

简短的回答是肯定的,您应该能够重新连接。这样做应该没有问题。如果在分离/连接期间多个应用程序尝试绑定到同一端口,可能会出现争用情况,但我看不到任何其他可能的问题。

简短的回答是肯定的,您应该能够重新连接。这样做应该没有问题。如果在分离/连接期间多个应用程序尝试绑定到同一端口,可能会出现争用情况,但我看不到任何其他可能的问题。

我一直使用JBoss和eclipse debugger执行此操作,我可以很好地重新连接。我不知道为什么一旦分离就不能重新连接。你有没有其他的东西要补充,可能会有影响?哦,你说得对。我没有意识到java会在调试器分离后再次尝试绑定到端口。如果该端口上已经有另一个进程,它只会记录一个错误
错误:传输错误202:bind failed:Address ready in use
我需要重新检查启动所有进程的方式,使其可调试(在将端口分配给jdwp之前,我当前搜索9000以上的未使用端口,如果该端口已分配,但该进程当前已连接到调试器,则重新使用该端口)。我一直使用JBoss和eclipse调试器进行此操作,我可以很好地重新连接。我不知道为什么在分离后无法重新连接。您是否需要添加一些其他可能会产生影响的内容?哦,您是对的。我没有意识到java会在调试器分离后再次尝试绑定到端口。如果有问题,请回答另一个进程已经在该端口上,它只记录了一个错误
错误:传输错误202:bind failed:Address ready in use
我需要重新检查启动所有进程的方式,使其可调试(在将端口分配给jdwp之前,我当前搜索9000以上的未使用端口,如果该端口已分配但该进程当前已连接到调试器,则重新使用该端口)。