如何在eclipse中调试在jetty上运行的Web应用程序?

时间:2012-01-30 15:58:56

标签: eclipse debugging web jetty

之前从未做过网络编程。有没有办法设置断点,在eclipse中查看变量值?我想调试的应用程序生成一个我想轻易提取的查询字符串。

7 个答案:

答案 0 :(得分:23)

单击“外部工具配置”,

enter image description here

选择程序,然后单击左上角的新按钮。 将位置设置为maven二进制文件 工作目录到本地工作区和jetty的参数:运行 enter image description here

在环境选项卡中设置maven opts。注意套接字地址= 4000和suspend = y enter image description here

转到调试配置并添加新的远程应用程序。添加项目名称并设置套接字地址。现在运行应该说的外部工具:

在地址:4000

侦听传输dt_socket

然后您可以调试远程应用程序并添加断点等。

enter image description here enter image description here

答案 1 :(得分:18)

我会使用以下命令使用maven运行应用程序: mvnDebug jetty:run

在Eclipse IDE中使用端口8000设置远程Java应用程序。

请参阅“{em>设置Maven 2.0.8 + ”部分:http://docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDE

答案 2 :(得分:4)

这些答案都不适合我。这是做了什么工作:

  • 为您的项目创建Maven Eclipse Runtime:
  • 右键点击项目 - > maven build - >目标:码头:跑
  • 转到Maven Eclipse Runtime的JRE选项卡,并在VM参数部分添加:

-Xdebug -Xnoagent -Djava.compiler = NONE -Xrunjdwp:transport = dt_socket,address = 8000,server = y,suspend = n

执行此运行时,Eclipse控制台输出的第一件事(蓝色)是:

在地址:8000

侦听传输dt_socket

现在您可以创建远程Java应用程序Debug Runtime并连接到调试端口(在此示例中为8000)

答案 3 :(得分:1)

我会在网址被破坏时扩展eaykin的答案。

以下面的方式运行Mvn Debug ...

$ mvnDebug -Dmaven.test.skip -Denvironment = dev clean jetty:run

这将在端口8000上等待

准备在调试模式下执行Maven收听传输  dt_socket at address:8000

然后转到Eclipse Run - >调试配置 - >远程Java应用程序 如果它们不是默认值,则将Host定义为“localhost”并将端口定义为8000。

如果单击“调试”按钮,将从mvn。

启动应用程序

答案 4 :(得分:0)

“尝试以这种方式运行它我得到CreateProcess错误= 193,%1不是有效的Win32应用程序。”

在Windows上选择mvn.bat而不是mvn.exe。

答案 5 :(得分:0)

如果有可能您正在使用intellij。这很容易。 确保您已安装码头插件。然后

  1. 在最右侧的 Maven 标签中,展开您的项目
  2. 展开插件
  3. 展开码头
  4. 右键单击 jetty:run ,然后选择“调试调试” Click to see the screenshot for refence

答案 6 :(得分:-1)

这篇文章的答案显示了需要传递给JVM以便远程调试器附加的标志。

Remote debug Jetty (no mvn, no plugins)

这是解释JVM远程调试程序的页面

http://docs.oracle.com/javase/1.3/docs/tooldocs/solaris/jdb.html