2014-02-11 80 views
1

很久以前,我在另一臺計算機上寫了一箇舊應用程序。 這個不再存在 - 並且所有的源代碼都不存在 - 但我仍然以jar文件的形式存在應用程序。如何附加到正在運行的jar並進行調試?

現在我需要檢查我的舊代碼,我在代碼中的特定位置做了什麼。我知道我可以從它創建一個Java - 但我需要檢查它,而它正在運行...

我試過javasnoop - 但它不能附加。它不斷嘗試,但永遠 - 我可以附加和調試的其他應用程序。

是否有任何其他方式/工具,可以附加到正在運行的jar和調試它?

如果有差別:應用程序正在開始一個EXE文件,然後使用的jar庫...

感謝

+1

@ceving:這不是發佈的問題的重複。在這裏,他仍然可以在調試模式下啓動應用程序。 –

+0

@ chris.tian但答案解釋瞭如何附加到正在運行的進程,這是此問題中的問題。 – ceving

+0

我無法在調試模式下啓動它?怎麼樣?我可以像任何其他人一樣啓動PC應用程序。或者你是什麼意思? – user387184

回答

2

你可以反編譯與JAD的jar文件(http://varaneckas.com/jad/),進口將該項目導入Eclipse並從那裏進行調試(請參閱http://www.vogella.com/tutorials/EclipseDebugging/article.html)。這是你想要的?

+0

謝謝,但我不能編譯它,因爲我沒有所有的庫.. - 這是一個非常大的應用程序!我只是幸運地以某種方式保留了最重要的罐子 - 並非所有的 – user387184

+0

因爲我對你的應用程序一無所知,所以我只能推薦一種迭代方法:逐步編譯你的應用程序,並且爲每個ClassNotFoundException你可以檢查findjar.com來識別所需的庫。 –

相關問題