2012-03-10 25 views
13

我是MyEclipse IDEA的初學者。我使用它的8.6.1版本。我的問題是:當我在調試模式下執行我的程序,MyEclipsesun.misc.URLClassPath類,我必須Resume斷點(通過按F8鍵),並繼續執行我的程序。 MyEclipse留在URLClassPath類以下線程堆棧:在調試模式下的MyEclipse隱式斷點URLClassPath

1. URLClassPath$JarLoader.<init>(URL, URLStreamHandler, HashMap) line: 581 
2. URLClassPath$JarLoader.ensureOpen() line: 631  
3. URLClassPath$JarLoader.getJarFile(URL) line: 641 
4. URLClassPath$JarLoader.ensureOpen() line: 631  

注:當一些jar文件在我的項目Build-Path存在,但是當我的應用程序很簡單這個問題不作與第一個斷點是我的第一個斷點此事件發生。

爲什麼發生此事件?

+0

我遇到了同樣的問題。看起來原因在於罐子名稱。原始的jar eclipse應該打開的是'gwt-servlet-2.1.0.jar',並且在堆棧幀期間它不知何故變成'gwt-servlet.jar',因此無法找到。 – CDT 2016-12-27 02:04:47

回答

20

我已經重現了錯誤,並且不可能調試該應用程序。我發現解決此問題的唯一方法是:轉到「窗口 - >首選項 - > Java->調試」並禁用「暫停執行未捕獲的異常」

現在可以調試應用程序並且調試器在用戶斷點處停止。

+0

greate答案,謝謝。 – MJM 2013-09-10 13:03:07

1

中斷的唯一原因是中斷點被擊中。 MyEclipse(或eclipse)本身不添加任何斷點。我建議你再次調試應用程序,當它在sun.misc.URLClassPath中斷時,轉到調試透視圖中的Breakpoints選項卡,並檢查你設置的所有斷點。如果你雙擊每個斷點,它應該帶你到相關的源文件。希望你能弄清楚斷點是如何到達的,但是要刪除一個斷點,右擊斷點並選擇Remove。另外,請注意,默認情況下,eclipse將打破未捕獲的異常(儘管它看起來不像是你的問題)。這可以通過調試首選項Window-> Java-> Debug來進行更改。

+0

我這樣做,但在'Debug'選項卡中不存在任何斷點。 – MJM 2012-03-13 08:46:39

+0

您是否說Debugpoint透視圖中的Breakpoint選項卡中沒有斷點?堆棧跟蹤上方的線是什麼?它有暫停的原因,並會說「線程[main](暫停(在Blah線581斷點))」。 – 2012-03-14 03:12:43

+0

是的,在'breakpoint tab'中不存在任何行。我寫了調試的痕跡原來的問題,但顯示如下:'線程[主](暫停(例外FileNotFoundException異常))\t \t URLClassPath $ JarLoader.getJarFile(URL)線:641個\t \t URLClassPath $ JarLoader.access $ 600(URLClassPath $ JarLoader,URL)線:538 \t \t $ URLClassPath $ JarLoader 1.run()線:605 \t \t AccessController.doPrivileged(的PrivilegedExceptionAction )行:不可用[本機方法] \t \t $ URLClassPath JarLoader.ensureOpen() ' – MJM 2012-03-14 06:30:34

0

溶液: 在調試運行的狀態只是搜索窗口斷點>在何衛青調試 並取消選中[陷入位置]選項。