JBoss EAP 6在域模式下为远程调试配置单服务器

JBoss EAP 6在域模式下为远程调试配置单服务器,jboss,remote-debugging,Jboss,Remote Debugging,我有一个域控制器,一个主机控制器和一个服务器在同一台机器上运行 我使用IDEA连接到远程服务器进行调试,但即使它正在运行代码,它也不会在断点处停止(我已经用system outs进行了验证) 我已经在$JBOSS\u HOME/bin/domain.conf中为远程调试启用了HOST\u CONTROLLER\u JAVA\u OPTS和PROCESS\u CONTROLLER\u JAVA\u OPTS: # Sample JPDA settings for remote socket deb

我有一个域控制器,一个主机控制器和一个服务器在同一台机器上运行

我使用IDEA连接到远程服务器进行调试,但即使它正在运行代码,它也不会在断点处停止(我已经用system outs进行了验证)

我已经在$JBOSS\u HOME/bin/domain.conf中为远程调试启用了
HOST\u CONTROLLER\u JAVA\u OPTS
PROCESS\u CONTROLLER\u JAVA\u OPTS

# Sample JPDA settings for remote socket debuging.
PROCESS_CONTROLLER_JAVA_OPTS="$PROCESS_CONTROLLER_JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8788,server=y,suspend=n"
HOST_CONTROLLER_JAVA_OPTS="$HOST_CONTROLLER_JAVA_OPTS -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"
当我启动JBoss服务器时,我可以从netstat看到它正在正确地侦听端口8787和8788。如果我列出系统中运行的进程,我可以看到一个用于域控制器,一个用于主机控制器,另一个用于服务器(server1)。域和主机控制器的启动属性中指定了调试选项,但server1缺少这些选项


我已经研究了各种XML、.conf和.sh文件一段时间了,但是我不知道如何指定server1来使用远程调试选项。有没有办法在域模式下远程调试单个服务器

嘿,我没有解决这个问题的方法,但是我能够为服务器1以及主机和进程控制器设置端口。 我是如何做到的:我在jboss管理控制台的JVM参数中添加了“-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n”。 步骤: 1) 登录jboss=>localhost:9990/console的管理控制台 2) 转到服务器=>在表中选择服务器1。 3) 然后将调试字符串添加到JVM参数文本框中

重新启动服务器后,您将看到服务器正在侦听此端口。 然而,当我试图在调试模式下运行eclipse时,问题出现了。虽然在服务器上,我可以看到连接是通过netstat建立的,但是eclipse无法与服务器1通信,并且超时。
需要注意的重要一点是,如果我像您在domain.conf文件中所做的那样使用这些端口,我就能够在调试模式下运行eclipse;但是,在eclipse中,控件从未到达我的断点。

JHollanti可能缺少一些允许远程调试的编译器标志(如“行、变量、源代码”)

例如,如果您正在使用Ant,则需要将以下行添加到javac中:

<!-- Javac lines, vars, source compiler flags -->
<javac srcdir="..." destdir="..." classpathref="..." debug="true" debuglevel="lines,vars,source" />
另一方面,您可以检查的是在yes中设置suspend标志,它是“suspend=y”。除非连接调试器,否则不会启动应用程序

在这里,您可以查看有关jboss的具体信息:


希望对您有所帮助

您可以通过在
$JBOSS\u HOME$\domain\configuration\hosts.xml
中添加
jvm选项来启用远程调试

->->


希望这有帮助

我只是想说我确实注意到了你的意见,但我现在没有机会尝试。我会尽快报告我的发现。
<!-- debug configurations: modify the port you want-->
<jvmarg value="-Xdebug"/>
<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4060"/>
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>2.0.2</version>
      <configuration>
        <!-- Necessary in order for the debug levels to be considered-->
        <debug>true</debug>
        <debugLevel>lines,vars,source</debugLevel>
      </configuration>
    </plugin>
  </plugins>
</build>
export MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n"
<jvm-options>
   <option value="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"/>
</jvm-options>
<servers>
    <server name="Server1" group="Group1" auto-start="true">
        <jvm name="Server1_JVM" debug-enabled="false">
            <heap size="2048m" max-size="4096m"/>
            <jvm-options>
                <option value="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"/>
            </jvm-options>
        </jvm>
        <socket-bindings socket-binding-group="full-ha-sockets" port-offset="100"/>
    </server>
</servers>