run - java debugger variables




Eclipse的Java調試:找不到源代碼 (17)

Eclipse調試適用於程序實際加載的類。

您描述的症狀聽起來像是在項目中找不到的問題類,但是在您正在使用的項目之前沒有找到調試信息的分發jar文件中。

發生這種情況的原因可能有幾個,但需要查看顯示此行為的類的位置(在導航窗格中查找以識別它)。 您很可能需要更改項目的構建路徑以避免使用此jar並讓JVM使用該項目。

編輯:請注意,截至2018年,通常使用像Maven這樣的構建框架,其中構建路徑由m2e插件管理,所以這個問題應該比問題被問到時要少得多。

在eclipse中調試java應用程序時,在兩種情況下收到“ 未找到源 ”錯誤:

  • 加入已導入的其他項目中的文件
  • 加入已安裝的Maven存儲庫中的文件

文件在那裡,但eclipse不會進入它們,而是顯示一個按鈕來“ 附加源

我嘗試過附加(打開一個對話框來定義一個變量?!),並且eclipse確實跳轉到該文件,但調試器無法檢查那裡的任何變量。 另外手動附加每個依賴項的源代碼是不實際的,因為在我的情況下有數以千計的依賴文件。

我是eclipse \ java的新手,所以解釋為什麼會發生這種情況,以及如何解決這個問題將有很大幫助!


來自http://www.coderanch.com/t/587493/vc/Debugging-Eclipse-Source

“在調試模式下運行時,右鍵單擊正在運行的線程(在線程選項卡中),然後選擇Edit Source Lookup。此時,您應該能夠添加必要的包含您的源代碼的項目/ jar。”

我以這種方式添加了當前的項目,並解決了我的問題


刪除現有的調試配置並創建一個新的。 這應該可以解決問題。


只需3個步驟來配置Eclipse IDE:

注意:更新源查找路徑後,您必須停止並重新啟動調試會話。 否則,具有缺失源的文件將繼續顯示“缺失源”。

編輯源查找選擇編輯源查找命令[編輯源查找]以打開源路徑對話框,它允許您更改所選調試目標的源查找路徑。

重要信息在最後一步之後重新啟動Eclipse


在我的情況下,其他引用項目的Maven版本與測試項目的版本不匹配。 一旦他們一樣,問題就消失了。


在我的案例中,通過單擊Remove All Breakpoints解決了問題


如果你在eclipse或STS上,請安裝並使用GC(GrepCode Plugin),有時候你不需要將source .zip文件附加到你的項目路徑中,這樣GrepCode就可以正常工作。


如果你正試圖調試你的maven java項目,並且eclipse無法找到你的源代碼,請嘗試其中的一個。

  1. 嘗試在pom.xml中添加這些行
<build>**<sourceDirectory>src/main/java</sourceDirectory>**...

嘗試maven->更新,然後調試

  1. 轉到項目的根目錄;

mvn eclipse:eclipse

現在嘗試調試


就我而言,即使在編輯源查找和添加項目之後,它也沒有奏效。 我配置了項目的Build路徑。

之後,我選擇了JRE系統庫並且它工作。


您可能擁有Eclipse可訪問的源代碼。 但是Eclipse不知道動態加載的代碼的源代碼。 例如通過Maven。

在Maven的情況下,我建議您使用run-jetty-run插件:

http://code.google.com/p/run-jetty-run/

作為解決方法,您還可以使用調試器連接到正在運行的JVM,您將看到代碼。 或者,您可以從這裡使用Eclipse的Dynamic Source Lookup插件:

https://github.com/ifedorenko/com.ifedorenko.m2e.sourcelookup

不幸的是,它並沒有幫助我,因為它帶有空格的Windows路徑存在問題。

我已經在Eclipse Bugzilla上填寫了一個增強請求,如果您同意這個問題“Source not found”應該永遠消失,請在此處投票:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=384065

謝謝!

莎莎


我在Eclipse中有一個與Glassfish服務器調試相關的問題。 這是通過從不同的存儲庫加載源代碼(從SVN更改為GitHub)實現的。 在這個過程中,Glassfish服務器使用了錯誤的編譯類,因此,源代碼和運行時間將與出現在空行上的斷點不同步。

為了解決這個問題,重命名或刪除classes目錄的頂層文件夾,Glassfish將重新創建整個類目錄樹,包括使用正確編譯的版本更新類文件。

classes目錄位於:/ workspace / glassfish3122eclipsedefaultdomain / eclipseApps / <您的Web應用程序> / WEB-INF /類


我在處理包含數據集的Excel文件的過程中處理java代碼時遇到了這個問題,然後將其轉換為.csv文件,我嘗試了這篇文章的答案,但沒有奏效。 問題是jar文件本身。 在逐一下載需要的jar文件(舊版本)並將其添加到我的項目後,“找不到源”錯誤消失。 也許你可以檢查你的jar文件。 希望這會有所幫助。


我有問題,我的Eclipse沒有調試我的項目的源代碼。 我收到一個空白頁面,顯示“找到源代碼節點”。

請點擊附加源代碼按鈕。 然後刪除“默認”文件夾,然後單擊添加並轉到您的項目位置並附加。 這對我有效


我面臨同樣的問題,我遵循以下步驟。

Window => Preferences => Java => 已安裝的JRE

你在上面的屏幕中看到Jre1.8.0_12被選中。

選擇您正在使用的JRE,然後單擊編輯 。 現在你應該看到波紋管屏幕。

點擊目錄,瀏覽Jdk,它應該看起來像下面的屏幕。

點擊確定,完成


轉到eclipse中的調試配置並使用以下目標來運行您的應用程序。

-Dmaven.surefire.debug

例如

-Dmaven.surefire.debug exec:java


這對我有效

右鍵點擊project - > Properties - > Deployment Assembly - >添加你的jar


顯然,Eclipse不會自動知道相關jar的源代碼在哪裡。 目前還不清楚為什麼調試器在源文件附加後無法檢查變量。 一種可能性是不正確/不兼容的來源。

假設你有一個Maven項目,並且依賴關係的源代碼已經下載並可以在本地存儲庫中使用,你可能需要安裝maven eclipse插件m2eclipse ,看看它是否有助於解決你的問題。





debugging