2010-02-24 92 views
6

我很想學習如何調試eclipse IDE。 回到使用VS for .NET開發的時候,我可以隨時將VS附加到進程並開始追蹤問題。我希望會有類似eclipse的東西,但作爲Java世界的新手,我不知道這一點。調試eclipse IDE本身

當我與iBUS(Ubuntu 9.10)一起運行時,我的eclipse最近經常掛起。我希望我能找出真正懸掛我的日食的東西,並避免這種情況(想象一下你的日食掛起,每一個打開的文件都關閉了,這隻會讓我發瘋)。

回答

9

編輯您的eclipse.ini文件的添加下面的底部(下-vmargs):

-Xdebug 
-Xnoagent 
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 

然後在相同版本的另一個Eclipse,你可以輸入你感興趣的調試插件。文件 - >導入... - >插件開發 - >插件和片段。導入從活動平臺導入爲「帶源文件夾的項目」,在下一個選項卡上選擇您感興趣的插件。

根據需要設置斷點。

然後在調試配置中創建一個新的「遠程Java應用程序」。本地主機,端口8000.在源選項卡上添加Java項目並進行調試。

+0

Woot Woot這是我尋找的東西 – 2014-03-04 22:44:02

2

你可以用任何Java應用程序做的事情來看看現在正在發生的事情是發送一個kill -QUIT。這將導致JVM將其所有線程的堆棧跟蹤轉儲到stdout。在這之間做一次三次這樣的事情,你可以看到哪些線程沒有很好地移動。

要嘗試的另一件事是將JConsole附加到正在運行的進程。

+0

嗨,你可以告訴我如何發送'殺 - QUIT'? – 2010-02-24 14:07:05

+0

你說你在Ubuntu上,所以:1)找到進程ID,也許使用ps auxw。 2)從外殼'kill -QUIT ' – Thilo 2010-02-24 15:43:18

1

回到使用VS for .NET開發的時候,我可以隨時將VS附加到進程並開始追蹤問題。

使用Java平臺調試器體系結構(JPDA)也可以在Java中進行遠程調試,只需要在啓用遠程調試的情況下啓動要調試的應用程序。這裏是an article顯示如何做到這一點,以及如何配置Eclipse調試刪除應用程序。

請注意,從Java 5開始,您應該優先選擇-agentlib:jdwp選項而不是-Xdebug-Xrunjdwp選項,如Sun VM Invocation Options中所述。

更新:的Eclipse 一個Java應用程序,所以應該是可以添加在eclipse.ini文章中提到的選項。雖然沒有嘗試過(我錯過了你想調試Eclipse本身的事實)。

+0

這篇文章告訴我關於調試jar文件的問題。但是我發現eclipse是(看起來像?)本地可執行文件。我如何告訴eclipse將調試消息發佈到端口中? – 2010-02-24 14:20:57

0

調試Java應用程序(例如Eclipse)基本上有兩種方法。你可以使用JConsole,但它不會給你很多細節。要附加JConsole,您必須啓用遠程調試;這需要一個JVM參數,您可以將其寫入Eclipse可執行文件旁邊的eclipse.ini文件中。

另一個選擇是從Eclipse啓動一個運行時工作臺:它用於測試自己的插件,但由於Eclipse插件相同,可以使用Eclipse應用程序啓動調試會話。爲此,至少需要在工作空間中有一個插件(例如,創建一個新的hello world插件項目),然後您可以將其作爲Eclipse應用程序進行調試。