2013-01-16 45 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