从EclipseIndigo远程调试JBoss AS 7.1

从EclipseIndigo远程调试JBoss AS 7.1,eclipse,jboss7.x,remote-debugging,Eclipse,Jboss7.x,Remote Debugging,我阅读了一些关于这个主题的指南,并做了以下步骤 这些指南有一些区别,但总的来说是相似的 我做的步骤。 我编译并部署了我的web项目,并将其部署在JBoss上 7.1在Eclipse中单击在服务器上运行->JBoss AS 7.1 我在Eclipse中停止了JBoss 我取消了这行的注释 JAVA_OPTS=“$JAVA_OPTS-Xrunjdwp:transport=dt_socket,地址=8787,服务器=y,挂起=n” 在$JBOSS\u HOME/bin/standalone.con

我阅读了一些关于这个主题的指南,并做了以下步骤

这些指南有一些区别,但总的来说是相似的

我做的步骤。

  • 我编译并部署了我的web项目,并将其部署在JBoss上 7.1在Eclipse中单击在服务器上运行->JBoss AS 7.1
  • 我在Eclipse中停止了JBoss
  • 我取消了这行的注释

    JAVA_OPTS=“$JAVA_OPTS-Xrunjdwp:transport=dt_socket,地址=8787,服务器=y,挂起=n”

  • $JBOSS\u HOME/bin/standalone.conf
    文件中

  • 我执行了
    $JBOSS\u HOME/bin/standalone.sh
  • 我在浏览器中更新了localhost:8080/MyProject/页面,并且 工作
  • 我在Eclipse中执行了调试配置,然后创建了 以localhost作为主机,8787作为 端口,并将MyProject作为项目名称
  • 我在Eclipse中按下了调试按钮
  • 当我到达我添加的断点时,什么也没有发生

    我预计Eclipse会像在简单Java应用程序项目中一样在断点处停止。我做错了什么

    Eclipse版本:Indigo

    爪哇

    编辑#1.

  • 窗口->首选项->Java->已安装的JRE
  • 编辑正在使用的JRE
  • 编辑“默认VM参数”行

    -XX:+UseParallelGC


  • 它没有帮助。

    您需要在启动JBoss时为JVM添加一些额外的选项。您可以在
    standalone.xml
    中或通过
    JAVA\u OPTS
    环境变量设置这些参数。这些选项看起来基本相同,但对于这篇文章,我将使用
    JAVA\u OPTS
    。如果您想使用
    standalone.xml
    来配置JVM参数,请阅读JBoss社区论坛上的这篇文章

    将此行添加到现有的
    JAVA\u选项中:

    -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
    
    上面的端口号(
    8787
    )必须与Eclipse设置相匹配(见下文)

    最后,您需要告诉Eclipse如何连接到远程进程。在Eclipse中,单击调试按钮的下拉箭头并选择“调试配置”

    • 在该对话框中,导航到“远程Java应用程序”,然后单击“新建””按钮
    • 在“项目”下,选择包含要调试的代码的项目
    • 在“连接类型”下,确保选择了“标准(插座连接)
    • 在连接属性下,确保设置了主机(例如,
      localhost
      )和端口(必须与
      JAVA_OPTS
      中的端口规范相匹配,在本例中为
      8787
    • 单击“”选项卡,添加包含要调试的代码的任何项目(如果工作区中有其他项目包含主项目以外的代码)
    • 在“常用”选项卡中的“在收藏夹菜单中显示””下,选择调试图标,调试工具栏下拉列表中将显示一个方便的dandy图标(名称将与前面的项目设置相同)
    如果JBoss已经在运行(使用前面设置的选项),请单击Debug以附加。如果没有,请启动JBoss,然后单击调试以附加

    现在,您可以设置断点、单步执行代码等


    玩得开心

    不要在“standalone.conf”中进行更改,而是在“standalone.conf.bat”中进行更改

    从“rem set”行中删除rem
    ,JAVA_OPTS=%JAVA_OPTS%-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n“”

    这对我很有效

    -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n