使用Eclipse远程debuggingTomcat

我似乎无法通过Eclipsedebuggingtomcat应用程序。 我已经设定了

CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

然后运行bin/catalina.sh ,在那里我看到输出说它正在侦听port 8000上的dt_socket 。 但是,无论何时我尝试在Eclipse中连接到端口8000 (通过在远程Java应用程序菜单中添加条目),它都会抱怨拒绝连接。 有任何想法吗?

你可以检查这是否工作?

 JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" catalina.sh jpda start 

在findcatalina.bat.sh的tomcat bin目录(又名{CATALINA_BASE} / bin)中,编辑(如果不存在则创build):

 setenv.bat/.sh 

添加以下行:

 CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 

这就是你需要做的,你不需要编辑catalina.bat (或.sh )文件。

请参阅catalina.batcatalina.sh的注释。

您可能需要调整特定环境/情况的语法。 例如,如果你已经定义了CATALINA_OPTS,你可能会这样做(在Windows环境中):

 set CATALINA_OPTS=%CATALINA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,address=8088,server=y,suspend=n 

从Eclipse进行debugging:

运行 – >debuggingconfiguration…->远程Java应用程序 – >新build

并指定一个名称,正在debugging的项目以及上面指定的tomcat主机和debugging端口。

我花了一些时间来获得正确的信息。

所以这里是详细的信息一步一步。

环境:Windows 7

TomCat版本:7.0

IDE:Eclipse

在tomcat中启用远程debugging的configuration是

 -Xdebug -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n 

我不build议上面的configuration从非Windows环境。 要添加上面的configuration,双击将在服务器视图中可用的tomcat服务器。 find下面的屏幕截图。 在这里输入图像描述

现在将上面的运行时环境configuration添加到tomcat。 对于这个检查下面的截图。

在这里输入图像描述

现在进入编辑启动configuration属性的Arugments选项卡,如下面的屏幕截图所示。

在这里输入图像描述

转到VM参数部分添加这些行。

-Xdebug

-agentlib:JDWP =运输= dt_socket,地址= 8000,服务器= Y,暂停=正

在这里输入图像描述

现在得到debuggingeclipse工具栏上的button。

在这里输入图像描述

在debuggingconfigurationfind“远程Java应用程序”,并双击它。 在这里输入图像描述

在名称字段中input你喜欢的任何名字。

从项目领域使用浏览buttonselect您要执行远程debugging的项目。

主机名不过是主机地址。 在这里,我在本地工作,所以它是“本地主机”。

最后的端口列的值应该是8000.除了名称和项目文本字段的其他两列主机和端口将由eclipse本身填充,如果不使你有相同的值提到。 检查屏幕截图的信息。 在这里输入图像描述

现在,在服务器控制台中右键单击TomcatServer,然后从上下文菜单中select添加和删除。 从这个对话框中你可以添加项目到服务器。

现在运行Tomcat服务器。

在这里输入图像描述

现在从debugging工具运行TomCatDebugConfiguration。

最后打开内部或外部浏览器并运行你的项目。 如果执行控制达到了断点,那么eclipse会提示debugging的angular度。

catalina.bat文件中,请修改下面的内容。

  • 第1步:CATALINA_OPTS =“ – Xdebug -Xrunjdwp:transport = dt_socket,address = 8000,server = y,suspend = n”

  • 第2步:JPDA_OPTS =“ – agentlib:jdwp = transport = dt_socket,address = 8000,server = y,suspend = n”

  • 第3步:从命令提示符运行Tomcat,如下所示: catalina.sh jpda start

  • 第4步:然后在eclipse中创build一个debuggingconfiguration

    1. 给任何configuration名称。
    2. 给出项目名称。
    3. 将连接types设置为“标准”(套接字连接)
    4. 主机作为本地主机
    5. 端口为8000(或任何端口号,但在其他地方也应该是相同的)。

让我分享一下使用eclipse(Windows)在tomcat7中启用远程debugging模式的简单方法。

第一步:打开bin / startup.bat文件
第二步:在JDPA选项中添加下面的debugging行(应该是文件的起始行)

  set JPDA_ADDRESS=8000 set JPDA_TRANSPORT=dt_socket 

第3步:在同一个文件中去到该文件的末尾修改这一行 –

  call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS% instead of line call "%EXECUTABLE%" start %CMD_LINE_ARGS% 

第4步:然后运行bin> startup.bat(所以现在你的tomcat服务器运行在端口8000的远程模式下)。

第5步:之后让我们通过eclipse IDE与远程客户端连接你的源项目。

第6步:在Eclipse IDE中进入“debuggingconfiguration”

步骤7:点击“远程Java应用程序”,然后点击“新build”

第八步。 在“连接”标签中设置参数值

  project= your source project connection Type: standard (socket attached) host: localhost port:8000 

步骤9:点击应用和debugging。

所以最后你的eclipse远程客户端连接到正在运行的tomcat服务器(debugging模式)。

希望这种方法可能会帮助你。

问候..

修改catalina.bat添加

 set JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" 

 CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 

可选:在运行startup.bat时,默认运行debugging模式

 call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS% 

Eclipse或STSselectdebuggingconfiguration,右键单击 – >新build

 connection type -> Standard socket Attach Port -> 8000 (as given in the CATALINA_OPTS) Host -> localhost or IP address 

只需运行./catalina.sh jpda start (forks)或./catalina.sh jpda run (不分叉,不在帮助中提及)。 这里提到的所有选项默认为理智的值。

如果仍然没有工作,你可以随时添加到脚本

  set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 

在tomcat 7中,catalina.sh有这样的代码:

 if [ "$1" = "jpda" ] ; then if [ -z "$JPDA_TRANSPORT" ]; then JPDA_TRANSPORT="dt_socket" fi if [ -z "$JPDA_ADDRESS" ]; then JPDA_ADDRESS="8000" fi if [ -z "$JPDA_SUSPEND" ]; then JPDA_SUSPEND="n" fi if [ -z "$JPDA_OPTS" ]; then JPDA_OPTS="-agentlib:jdwp=transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=$JPDA_SUSPEND" fi CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS" shift fi 

㈡意味着你可以设置JPDA:

 export JPDA_TRANSPORT=dt_socket export JPDA_ADDRESS=8000 export JPDA_SUSPEND=n 

或与:

 JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" 

最后使用:

catalina.sh jpda start

问候

使用CATALINA_OPTS和JPDA_OPTS修改startup.bat不起作用,但将它们添加到catalina.bat中

  1. 修改catalina.bat

CATALINA_OPTS =“ – Xdebug -Xrunjdwp:transport = dt_socket,address = 8000,server = y,suspend = n”

JPDA_OPTS = “ – agentlib:JDWP = =运输dt_socket,地址= 8000,服务器= Y,暂停= N”

  1. 修改startup.bat以包含jpda

更改调用“%EXECUTABLE%”开始%CMD_LINE_ARGS%到

调用“%EXECUTABLE%”jpda start%CMD_LINE_ARGS%

然后在Eclipse的debuggingconfiguration中configuration远程Java应用程序。

首先,如果使用文本编辑器打开catalina.bat,您会看到:“不要在此脚本中设置variables…..”因此,请不要在该脚本中更改它,而是可以执行以下步骤:

  1. 它build议你创build一个名为“setenv.bat”的新的bat文件。
  2. 然后在该bat文件中设置2个variables,例如:

    设置CATALINA_OPTS =“ – Xdebug -Xrunjdwp:transport = dt_socket,address = 8000,server = y,suspend = n”

    设置JPDA_OPTS =“ – agentlib:jdwp = transport = dt_socket,address = 8000,server = y,suspend = n”

  3. 最后在cmd运行那个:“catalina.bat jpda start”

  4. 在IDE中,创build远程debuggingconfiguration并将主机设置为相关的服务器IP和端口为8000。