2017-01-30 24 views
0

我得到了一些java .jar未編譯與調試標誌。我想通過IDE在遠程調試中使用它們,所以我反編譯它們並作爲源添加到項目中。有時制動點出現問題或者根本不工作。調試jar,這是沒有編譯調試標誌

問題是,什麼是最好的方法來調試.jar未編譯與-g標誌的文件。

回答

0

如果遠程調試代碼發生更改並且未將更改部署到遠程設備,也會發生這種情況。簡而言之,jar中的命令不符合源代碼中的行號。

比我聰明的人可能會有一個棘手的答案,但對我來說,阻力最小的路徑是從jar文件中激發反編譯後的代碼並調試它。

99.99%的時間我不想對jar進行實際更改,所以我只是想知道爲什麼我的代碼無法正常工作。一旦我超過了這個障礙,我會把原來的罐子放回原處,並確保我的代碼仍然有效。這a)(有助於確保)我不違反許可證,並且b)不會使項目依賴於我的代碼 - 因爲反編譯/重新編譯可能會以微妙的方式改變行爲。

請注意,某些jar文件具有許可證,只需對源進行反編譯並查看它就是違反許可證。雖然我通常不會太擔心,因爲我無意永久使用反編譯和重新編譯的代碼,但我只需要「看」它一段時間。 :)

+0

我沒有明確的源代碼。當我重新編譯jar im面臨很多錯誤。這個軟件不是我的,並且有執照,我只是有興趣調試它正確^^ – Jin

+0

如果你沒有一個jar文件,其中類文件中的行號匹配,我不明白你如何對jar進行調試java文件中的行號。 –

相關問題