2012-11-14 34 views
5

因爲我的RCP eclipse應用程序在eclipse外運行時失敗,但在eclipse內運行時運行正常,我試圖使用eclipse遠程調試我的應用程序,因爲它在eclipse環境之外運行。如何遠程調試我的rcp應用程序?

我在64位Windows 7機器上使用32位Eclipse 3.6.1。我正在使用32位Java 1.6更新版本37.我使用Eclipse產品導出嚮導來打包應用程序,並最終得到一個eclipse.exe。我創建了一個遠程調試配置並將其設置爲使用端口8765(隨機數)。出於調試目的,我用這條線啓動應用程序的命令行:
的eclipse.exe -Xdebug -Xrunjdwp:交通= dt_socket,地址127.0.0.1 =:8765

取決於我是否連接或通過聽我的Eclipse調試器,我會添加服務器= [Y/N]選項到這個命令行,但它似乎沒有任何區別。

對於配置連接類型我已經嘗試過Standard(Socket Listen)和Standard(Socket Attach)。當我嘗試Socket Listen時,我的調試器將開始監聽 - 「等待vm連接到端口8765」,但是當我通過命令行啓動我的應用程序時,應用程序啓動正常,但調試器從不連接。

當我嘗試的Socket連接,我啓動應用程序第一次使用命令行,然後當我嘗試使用Eclipse來連接,我得到的消息「無法連接到遠程虛擬機。拒絕連接」

我我嘗試了地址:localhost,127.0.0.1和我的本地IP地址的各種組合。我每次都得到相同的結果。

感謝您的幫助!

回答

9

您缺少-vmargs參數。嘗試「的eclipse.exe -vmargs -Xdebug -Xrunjdwp:交通= dt_socket,地址127.0.0.1 =:8765」

我正在尋找同樣的東西,發現這是很有幫助的崗位http://blog.ankursharma.org/2010/05/remote-debugging-eclipse.html

+0

哇,它終於工作了!非常感謝你的幫助;我只想放棄這項技術。 – JasonK

+1

我還需要額外的服務器並暫停在Ankura博客上看到的參數:-vmargs -Xdebug -Xrunjdwp:transport = dt_socket,server = y,suspend = n,address = 1044 – Eric

1

我認爲調試RCP應用程序的更好方法是使用「-console」「-consolelog」啓動它。這會給你一個osgi控制檯,你可以在這裏查看哪些軟件包沒有啓動,導出的服務等。輸入help可以獲得可用命令列表。

+0

我很欣賞你的答案回覆。我修改了我的命令行以包含您建議的選項。檢查包和服務的狀態返回值,如「懶」,「主動」和「解決」,我目前不明白這意味着什麼,所以這聽起來像我有一些研究在我面前。從我所看到的情況來看,這一切看起來都很正常。 – JasonK

+0

您可以使用diag命令查看您的包的依賴關係是否正確解析。如果是這樣,請嘗試使用start命令啓動軟件包。 – mbelow