我一直在尝试将两个客户端调试器连接到 JPDA 上下文中的调试对象程序。这是可能的还是 是否有解决方法来实现它?
我正在使用 eclipse 作为 IDE(编辑拼写错误)。 将服务器程序视为 Hello World 打印出来:
System.out.println("I have the String"); //1
System.out.println("You will have to pass through the breakpoints before you shall see");
System.out.println("breakpoints");
System.out.println("before you shall see"); //4
我们可以在第 1 行和第 4 行放置断点。
第 1 步: 在运行配置中传递给程序的参数:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y
(server=y
告诉 vm 像服务器一样运行,suspend=y
暗示 prog 执行将被暂停,直到调试器锁定它)
并运行程序。
第 2 步:转到 Debug as , Debug config ,Remote Java application
和
创建一个新实例:
Project: Same as before
Connection type: Socket Attach(Socket Attach)
Host:LocalHost
Port:8000
现在,当我调试 Prog 时,执行会在指定的断点处停止。 我不能做的是创建这个远程调试器的另一个实例 可以锁定到服务器(prog 1),我这样做时连接被拒绝。如果其他人遇到过这个问题,请告诉我 以及是否存在解决方法。 谢谢!
谢谢
最佳答案
据我所知,任何给定时间只能有一个调试器实例连接到 Java 程序。一旦您开始调试程序,Eclipse 就会连接到被调试的程序,从而阻止所有其他连接尝试。如果你想远程连接,你可以在非 Debug模式下运行程序并添加参数: -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y 手动添加到 java 参数,那么您应该能够连接到另一个调试器。
关于java - 将多个调试器连接到一个调试器(Java、JPDA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3973257/