如何使用intellij调试器在域模式下启动Jboss服务器

时间:2019-01-31 12:54:14

标签: intellij-idea jboss

Intellij不会使用调试器在域模式下启动jboss服务器。我可以正常启动,但不能使用调试器启动。我可以使用调试器以独立模式启动它。当我使用intellij调试器以域模式启动时,出现以下错误

[主机控制器]本机方法中的致命错误:JDWP没有初始化传输,jvmtiError = AGENT_ERROR_TRANSPORT_INIT(197) [主机控制器]错误:传输错误202:连接失败:连接被拒绝 [主机控制器]错误:JDWP传输dt_socket初始化失败,TRANSPORT_INIT(510) [主机控制器] JDWP退出错误AGENT_ERROR_TRANSPORT_INIT(197):没有初始化传输[debugInit.c:750]

我可以在命令行上启动jboss服务器,并附加来自intellij的远程调试器,但是我宁愿通过intellij进行所有操作。所以我宁愿从intellij进行部署和调试

从查看错误开始,我认为问题是因为在域模式下,主机控制器首先启动,但是调试字符串适用于直到后来才启动的服务器实例。然后,Intellij尝试附加调试器,但服务器未运行,因此无法附加任何东西,然后失败。反正还有吗?

2 个答案:

答案 0 :(得分:0)

在评论后进行编辑。

如果需要在部署之前启动工具,则可以在配置的“部署”选项卡中进行。

在“启动前”部分中点击+图标:

enter image description here

选择外部工具并使用+添加新命令

enter image description here

定义您的程序开始

enter image description here

您应该在“部署”选项卡中看到外部工具,并且应该在调试开始之前执行命令。

enter image description here

答案 1 :(得分:0)

我设法使用以下 intellij+wildfly 设置在域模式下使用 intellij wildfly 调试。

在wildfly domain.xml 上,添加{ "state":"7", "close_code":"Closed/Resolved by Caller", "close_notes":"blabla" } 端口和所选服务器上的调试配置:

<jvm>

在intellij上运行配置,在<server-group name="serverGroupXYZ" profile="profileXYZ"> <!-- jvm tag to add --> <jvm name="Debug"> <jvm-options> <option value="-agentlib:jdwp=transport=dt_socket,address=8777,server=n,suspend=n"/> </jvm-options> </jvm> <!-- rest of your existing server-group content... --> 下:

  • 取消选中传递环境变量!
  • 添加与wildfly相同的端口

enter image description here

相关问题