2013-01-16 59 views
1

在IntelliJ IDEA中加載特定Java類時有沒有設置斷點的方法?在IntelliJ IDEA中加載Java類時設置斷點

+0

我不知道它是否會工作,(因此是一個評論),但我不知道你是否可以添加一個靜態初始化塊到你的類,並設置一個斷點? – Charlie

+0

你爲什麼要這麼做? –

+0

我想弄清楚哪個類加載器正在加載一些特定的類。請參閱http://stackoverflow.com/q/14364566/7648我想知道,因爲我正在調查類似這樣的問題:eclipse.org/forums/index.php/t/173612顯然這可能發生在兩個類是由不同的類加載器加載(請參閱鏈接到的內容以瞭解詳細信息)。我試圖確定這是否是我所看到的問題。 –

回答

2

不是我所知道的。但是,如果你試圖從一個類首次被加載的地方來確定,你可以在類的構造函數(或靜態字段/塊)中放置一個斷點,並查看堆棧跟蹤。這應該告訴你第一次打電話給班級的地方。

+0

我真的想確定的是兩個類是由同一個類加載器加載還是由不同的類加載器加載。 –

+0

啊。這是一種粗糙的方式,但是你可以在日誌消息中加上一些前綴(即「CLASSLOADER CHECK」),並在構造函數中記錄類加載器('this.getClass()。getClassLoader()')。然後grep日誌... –

1

在2016版本中,它通過將斷點設置到類定義行(public class YourClass ...)來工作。您不必使用顯式構造函數,它會在調用... new YourClass();時停止。

+0

這不起作用 - 無論如何IME – davidfrancis