从来没有做过网络编程。有没有办法设置断点,在eclipse中查看变量值?我想调试的应用程序生成一个我想轻易提取的查询字符串。
单击“外部工具配置”,
选择程序,然后单击左上角的新按钮。将maven二进制工作目录的位置设置为本地工作空间,并将参数设置为jetty:run
在环境选项卡中设置maven opts。注意套接字地址= 4000和suspend = y
转到调试配置并添加新的远程应用程序。添加项目名称并设置套接字地址。现在运行它应该说的外部工具:
在地址:4000处侦听传输dt_socket
然后你可以调试远程应用程序并添加断点等。
我将使用命令运行maven应用程序:mvnDebug jetty:run
在Eclipse IDE中使用端口8000设置远程Java应用程序。
请参阅:http://docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDE的“设置Maven 2.0.8+”部分
这些答案都不适合我。这是做了什么工作:
-Xdebug -Xnoagent -Djava.compiler = NONE -Xrunjdwp:transport = dt_socket,address = 8000,server = y,suspend = n
当您执行此运行时时,Eclipse控制台输出的第一件事(蓝色)是:
在地址:8000处侦听传输dt_socket
现在您可以创建远程Java应用程序Debug Runtime并连接到调试端口(在此示例中为8000)
由于URL被破坏,我只想扩展eaykin的答案。
运行Mvn Debug如下...
$ mvnDebug -Dmaven.test.skip -Denvironment = dev clean jetty:run
这将在端口8000上等待
准备在调试模式下执行Maven在地址:8000处侦听传输dt_socket
然后转到Eclipse Run - > Debug Configurations - > Remote Java Applications将Host定义为'localhost',如果它们不是默认值,则转到8000。
如果单击“调试”按钮,这将从maven启动应用程序。
“试图以这种方式运行它我得到CreateProcess错误= 193,%1不是一个有效的Win32应用程序。”
在Windows上选择mvn.bat而不是mvn.exe。
如果您有任何机会使用intellij。这样更容易。确保安装了jetty插件。然后
这篇文章的答案显示了需要传递给JVM以便远程调试器附加的标志。
Remote debug Jetty (no mvn, no plugins)
这是解释JVM的远程调试器的页面
http://docs.oracle.com/javase/1.3/docs/tooldocs/solaris/jdb.html