eclipse问题中的远程调试

时间:2014-01-31 11:43:02

标签: java eclipse debugging remote-debugging

echo "LSE Parser v1.0"
javac -d ../build -classpath ../build:${MY_CLASSPATH} *.java
cd ../build 
jar -cf ../lib/lse.jar .
cd ../src

以上是我的java应用程序的构建脚本。有一个serperate运行文件,它定义了所有CLASSPATH并运行应用程序。

我正在尝试远程调试eclipse上的应用程序,但面临问题。代码位于unix服务器主机上。我密切关注有关调试配置的说明......对于eclipse。

这就是我正在做的事情:

  1. 我在putty终端中找到我的构建(上面)并执行。 ./build
  2. 我输入java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9999
  3. 关于eclipse 调试配置... 我输入一个随机名称,项目是lse,给出了正确的主机并将端口号设为9999.检查了远程VM的终止。当我单击debug时,它不会在断点处停止。
  4. 注意:在项目中,“lse”是应用程序使用的3 .java源代码。 “lse”项目只有src内容,但是在Unix主机中它有所有的lib,scripts,config文件夹。

    有人可以告诉我我做错了什么。在第2步之后,我设法得到了 Listening for transport dt_socket at address: 9999

    然后在第3步之后,我收到一些关于putty的消息

    Usage: java [-options] class [args...]
               (to execute a class)
       or  java [-options] -jar jarfile [args...]
               (to execute a jar file)
    where options include:
        -d32          use a 32-bit data model if available
        -d64          use a 64-bit data model if available
        -client       to select the "client" VM
        -server       to select the "server" VM
        -hotspot      is a synonym for the "client" VM  [deprecated]
                      The default VM is server,
                      because you are running on a server-class machine.
    ....
    

    并在eclipse上看到调试模式的终止状态。 java热点服务器[host bla bla]

1 个答案:

答案 0 :(得分:0)

我想你现在已经解决了这个问题......但是看起来你忘了提供java的类名来运行。如果您的 main 方法位于 foo / Bar.java 之类的源文件中,那么您需要将 foo.Bar 添加到您的java行。类似的东西:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9999 foo.Bar

您也可以考虑将 -g 添加到 javac 以生成调试信息。

如果您的源代码位于您尝试调试的IDE中,则可以避免所有(或大部分)此类痛苦...