JBoss EAP 6在域模式下为远程调试配置单服务器
我有一个域控制器,一个主机控制器和一个服务器在同一台机器上运行 我使用IDEA连接到远程服务器进行调试,但即使它正在运行代码,它也不会在断点处停止(我已经用system outs进行了验证) 我已经在$JBOSS\u HOME/bin/domain.conf中为远程调试启用了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
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>