2013-05-15 36 views
23

這似乎是一個愚蠢的問題,但我無法弄清楚如何在Intellij Idea中調試異常。谷歌搜索也沒有幫助。如何使用Intellij Idea的異常斷點

我嘗試創建異常斷點。當IDEA中斷時,我期望它給我一個調用堆棧,顯示導致拋出異常的方法的原因以及自動監視窗口,就像Visual Studio的調試工具一樣。相反,它會顯示各種關於LauncherClassLoader的亂碼信息,但在運行時沒有實際異常的跡象。

那麼IDEA的異常斷點究竟應該如何使用呢?

+0

不是重複的,但這裏的答案可能會解決您的問題:http:// stackoverflow。COM /問題/ 8850698 /調試器只-站-AT-斷點,意志不步過 –

回答

8

我終於通過自己想通了。在View Breakpoints窗口中,選中Any Exception,但取消選中Caught exception的標記。啓動程序和類加載器異常由JVM在內部捕獲和處理。這樣,任何用戶異常都將被捕獲,而無需手動指定異常類型。

53

它工作得很好,我真的不知道你有什麼樣的問題與啓動器或ClassLoader。這可能是因爲您選擇了捕獲Any exceptions,這意味着它在啓動和類加載期間也會捕獲各種異常。您必須針對要捕獲的異常做出具體的選擇,或者直到您的異常被捕獲爲止。

無論如何,我會告訴你我是如何設置一個非常簡單的案例,你會發現它工作得很好。

我有一個簡單的情況下,將會拋出一個NullPointerException

首先,您必須設置異常斷點。

Ctrl鍵 + + F8輸入View Breakpoints...窗口。然後按下左上角的小號+標誌。

enter image description here

輸入NullPointerException異常,並按OK按鈕。

enter image description here

確保Any exception沒有被選中。

現在運行通過右擊該程序的主要方法內部,選擇Debug 'SomeClass.main()'

enter image description here

最後當異常被捕獲看,你將有所有你希望像調用堆棧的事情和觀看窗口

enter image description here

+0

這是可怕的「+」這是我絆倒了(並把我帶到這裏)。至少IntelliJ是一致的;現在我只需要習慣它。 – fool4jesus

+3

謝謝你,你救了我的命!我希望我能爲你提高100000次 – OWADVL

相關問題