我有一個被幾個不同的類調用的管理器。經理通過Inject實例化。所以當我調試時,我需要知道誰實例化這個管理器?有沒有辦法做到這一點?如何找到哪個父對象創建了一個子對象
1
A
回答
2
除非調用者將自己傳遞給創建管理器的方法,然後傳遞給管理器的構造函數,然後將其存儲在私有變量中。當你不明確地跟蹤這些信息時,它會丟失。
或者,您也可以在管理器的構造函數中設置一個調試斷點,並在命中斷點時檢查調用堆棧以找出調用堆棧的位置。
0
找出哪個對象實例化您的管理器的一種方法是在管理器的構造函數中創建堆棧跟蹤。使用Thread.currentThread()。getStackTrace()來獲取一個StackTraceElements數組。
調試時,只需檢查此StackTraceElements數組以查看哪個對象創建了管理器。
相關問題
- 1. 如何創建一個父對象列表,其中每個父對象可以有一個子對象列表?
- 2. 從對象數組創建一個對象引用父對象
- 3. 如何從父對象創建對象?
- 4. 如何在Rails中爲父對象和子對象創建一個表單?
- 5. 如何從父對象繼承父對象到另一個父對象?
- 6. 如何在創建期間訪問父對象(兩個對象)?
- 7. 如何找出getLogger是否創建了一個新的對象?
- 8. 如何在一個對象內創建一個javascript對象?
- 9. 如何在一個對象內創建一個對象c#
- 10. 我如何知道哪些對象保留了一個對象?
- 11. JAXB Unmarshall創建了一個空對象
- 12. 從另一個對象創建對象
- 13. 創建一個Jquery對象的對象
- 14. 從另一個子類對象創建子類對象
- 15. 創建一個具有初始化父對象的子類對象
- 16. 嘗試從父對象控制器創建一個子類對象
- 17. 多個子對象的一個父對象
- 18. 創建一個鞋子對象
- 19. C#如何找到一個類的非創建對象?
- 20. 嵌套對象:對多個子同父對象對象
- 21. 如何發現哪個罐子或包創建對象
- 22. 創建一個JSON對象
- 23. 創建一個JavaScript對象
- 24. 創建一個ABPerson對象
- 25. 創建一個Parse.File對象
- 26. 創建一個新對象
- 27. 從創建一個對象
- 28. 嘲弄了一個父對象上坐
- 29. 使另一個對象的父對象
- 30. 如何創建一個對象,C#
如果它被注入,那麼容器(即Spring,CDI或Guice,取決於你使用的DI框架)是實例化它的一個。 –