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

时间:2016-07-17 21:21:13

标签: java debugging remote-debugging

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

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

应用程序启动,打印"在地址:5005"中侦听传输dt_socket;而且......走得更远!没有任何等待连接的企图。我可以在执行期间连接到它并且调试本身可以工作。但是为什么应用程序不等待调试器的连接?

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

2 个答案:

答案 0 :(得分:12)

如果您希望等待连接,则需要指定suspend=y。你的调试工作正常。如果您尝试连接,您将能够。很可能你只是习惯使用suspend=y阻塞,直到建立连接为止。

suspend=n时会出现此行为。

答案 1 :(得分:4)

  

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

     

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

     

启动gradle任务" appStartDebug"在IntelliJ IDEA下。注意:做   不要尝试在调试器下启动此任务。在正常模式下运行它。   检查:您应该看到"在地址中侦听传输dt_socket:   5005" in" Run"输出窗口。选择菜单"运行/运行...",选择"远程   调试"配置,选择" Debug"命令。检查:你应该看到   "连接到目标虚拟机,地址:' localhost:5005',传输:   '插座'" in" Debug"输出窗口。

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