1

我有一个经理,由几个不同的班级调用。管理器通过 Inject 实例化。所以当我调试时,我需要知道谁实例化了这个管理器?有什么办法吗?

4

2 回答 2

2

除非调用者将自己传递给创建管理器的方法,然后传递给管理器的构造函数,然后将其存储在私有变量中。如果您不明确跟踪此信息,它将丢失。

或者,您还可以在管理器的构造函数中设置调试断点,并在命中断点时检查调用堆栈以找出调用它的位置。

于 2012-12-14T08:54:49.910 回答
0

找出哪个对象实例化您的管理器的一种方法是在管理器的构造函数中创建堆栈跟踪。使用 Thread.currentThread().getStackTrace() 获取 StackTraceElements 数组。

调试时,只需检查这个 StackTraceElements 数组即可查看哪个对象创建了管理器。

于 2012-12-14T09:01:43.623 回答