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。
这就是我正在做的事情:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9999
注意:在项目中,“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]
答案 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中,则可以避免所有(或大部分)此类痛苦...