9

每当实例化特定类型(类/接口)的对象时,我想让 Eclipse 的 Java 调试器调试挂起受监视的进程。

作为一种解决方法,我可以设置断点

  • 在该类型的所有构造函数上
  • 在该类型的超类型和子类型的所有构造函数上

  • 这很尴尬
  • 忽略使用默认构造函数的实例化
  • 可能会导致我不想挂起的类的对象实例化出现误报调试挂起。
4

2 回答 2

4

您不需要在超类和子类上设置断点。如果您在您感兴趣的类的每个构造函数上放置一个断点,那么每次创建该类的对象或其子类时,调试器都会命中其中一个断点。

这不适用于接口,因为它们永远不会被构造。我想不出一种方法来处理接口。

请记住,如果您根本没有定义任何构造函数,则默认构造函数仅存在于一个类中,因此只要您至少有一个构造函数,就不可能在不使用其中一个构造函数的情况下实例化该类型的对象你写。

于 2012-09-13T18:34:56.470 回答
4

请参阅此线程Carlos Heuberger的答案。

如果需要,您还可以在特定的类加载上设置断点。请参阅本教程以供参考

于 2012-09-13T18:40:02.363 回答