簡體   English   中英

獲取Java Stacktrace中涉及的對象

[英]Get objects involved in Java stacktrace

我可以使用Thread.currentThread().getStackTrace()檢索當前的堆棧Thread.currentThread().getStackTrace()但這只給我調用中涉及的類。 是否可以檢索調用跟蹤中涉及的對象實例? 也許某種庫可以讓我從堆中檢索對象?

我有一個問題,要求我追溯到Spring bean,該bean在我請求堆棧跟蹤的地方間接創建了對象。

更新如果Java中沒有用於此的內置工具,我正在尋找可在運行時為我完成此工作的可嵌入庫。

這是一個非常有趣的想法,但不幸的是在整個 ,你不能,這是不可能的。

UPD:答案為“否”的原因之一是事實,即如果可能的話,必須存在對所有已創建對象的某些引用列表。 但是在這種情況下,Java GC根本無法工作。

您可以嘗試housemd 它是由Engineer @ alibaba開發的,即使在生產環境中也可以安全使用,例如taobao.com。

其功能包括:

 Display object field value Output invocation stack trace 

以下是示例屏幕截圖: 在此處輸入圖片說明

嘗試使用Eclipse調試器以查看在特定方法中使用的對象的值。 在要暫停程序的行上放置斷點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM