2014-01-31 63 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中,則可以避免所有(或大部分)這種痛苦...