2014-01-31 59 views
0
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中的远程调试问题

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

这是我在做什么:

  1. 我腻子终端找到我的构建(上图),并与执行。 ./build
  2. I型java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9999
  3. Eclipse的调试配置...我进入一个随机名称,项目LSE,给正确的主机,给端口号为9999检查远程虚拟机的终止。当我点击调试时,它不会停在断点上。

注意:在项目“lse”中有3个应用程序使用的.java源文件。 “lse”项目只有src内容,但是在Unix主机中它有所有的lib,scripts,config文件夹。

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

然后步骤3后,我得到油灰

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. 
.... 

一些消息,并且看到蚀上调试模式终止的状态。 java热点服务器[主机bla bla]

回答

0

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

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

您也可以考虑加入-g的javac生成调试信息。

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