2009-07-05 46 views
1

在eclipse中,我正在編寫一些代碼來抓取特定的網頁並下載一個applet,然後它將它添加到JFrame中並執行。如果我運行程序而不添加任何斷點,它可以很好地工作。它加載小程序,並開始運行。但是,如果我向小程序更新(Graphics g)方法添加斷點,它會停止刷新。很顯然,這是預料之中的,但它實際上並沒有真正跳過斷點。Java:斷點如何不停止繪製applet而不會觸發*?

我知道斷點通常與我的設置一起工作,事實上,如果我向完全相同的小程序的paint(Graphics g)方法添加斷點,則它會在您期望時觸發。

唯一稍微不合常規的事情就是我沒有顯示的applet的來源。相反,我只是在方法條目上設置一個斷點。

如果我在applet運行時禁用斷點,它將恢復繪製,但如果再次啓用它,它不會總是停止重繪。

我不知道這是否可能是eclipse/jvm的預期行爲,或者如果我發現了一個錯誤。如果它是一個錯誤,是eclipse還是jvm中的錯誤?

回答

1

只是一個建議:你能檢查你正在執行你的applet的JVM的版本是什麼嗎?

有提到的troubles with breakpoints(也detailed here)和最新的jdk6.0_u14,
所以如果你使用這個版本,你可能想,如果同樣的行爲與6.0_u13觀察檢查。

+0

我實際使用 Java版本 「1.6.0_0」 OpenJDK的運行時環境(IcedTea6 1.5)(6b16-4) OpenJDK的客戶端虛擬機(建設14.0-B15,混合模式,共享) 所以我不知道在sun版本中對應的版本(我在版本號中看到14,15和16) 無論哪種方式,我都會嘗試安裝舊版本(可能是java 5),看看我是否仍然得到這個錯誤。 – 2009-07-05 23:07:23

+0

和Java 5得到相同的錯誤。 我認爲問題可能是我把斷點放在jar的本地副本中,但實際上是從URLClassLoader加載類。 – 2009-07-06 01:50:05

0

看看顯示線程的調試面板。它可能是另一個線程,而不是你期望的斷點。