应用程序打印“侦听地址:5005 的传输dt_socket”,并且不停止

2022-09-03 18:23:56

我使用典型参数开始执行代码:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 myPackage.myMainClassname

应用程序开始,打印“侦听运输dt_socket地址:5005”和...走得更远!不尝试等待连接。我可以在执行期间连接到它,调试本身也可以工作。但是,为什么应用程序不等待调试器的连接?

看起来我的配置中有什么东西坏了,但我无法找出根本原因。我尝试了几种方法来指定调试设置,不同的端口,以管理员身份运行,关闭防火墙 - 没有任何帮助。


答案 1

您需要指定是否希望它等待连接。调试工作正常。如果您尝试连接,您将能够。最有可能的是,在建立连接之前,您只是习惯于使用哪些块。suspend=ysuspend=y

当 .suspend=n


答案 2

选择菜单“运行/编辑配置”。检查:弹出“编辑配置”对话框。单击“+”图标,从列表中选择“远程”。检查:名称为“未命名”的新配置将显示在“远程”类别下。将配置名称更改为更合理的名称,如“远程调试”。不要更改任何其他参数,只需单击“确定”即可。

在调试器下运行 Web 应用程序

在 IntelliJ IDEA 下启动 gradle 任务 “appStartDebug”。注意: 不要尝试在调试器下启动此任务。在正常模式下运行它。检查:您应该在“运行”输出窗口中看到“在地址:5005处侦听传输dt_socket”。选择菜单“运行/运行...”,选择“远程调试”配置,选择“调试”命令。检查:您应该在“调试”输出窗口中看到“已连接到目标 VM,地址:'localhost:5005',传输:'套接字'”。

现在,您的Web应用程序在调试器下运行:您可以设置断点,监视/检查变量等。