我在Set中有一個對象,它的內容被引用更新。有沒有辦法可以使用對象哈希ID([email protected]
)或Eclipse ID(id=356
)始終在我的Expressions視圖中觀看,即使它超出範圍?eclipse - 調試時總是查看對象
我正在使用Eclipse Neon。
我在Set中有一個對象,它的內容被引用更新。有沒有辦法可以使用對象哈希ID([email protected]
)或Eclipse ID(id=356
)始終在我的Expressions視圖中觀看,即使它超出範圍?eclipse - 調試時總是查看對象
我正在使用Eclipse Neon。
UR問題不是很清楚,我,但我猜ü意味着這樣的:
我不知道任何方式(內部eclipse goody),讓你通過它的eclipse調試ID或對象哈希引用'O。
但它可以做得相當簡單:只需要能夠通過調試器中選擇的當前幀的某些(冗長的)引用方式達到O來完成此操作。
最簡單的方法是添加一些額外的代碼來將O設置爲某種靜態var。 U可以在手動調試的同時分配靜態var,藉助於「顯示」視圖讓您執行Java代碼,該視圖在當前堆棧框架的上下文中運行。
步驟:
MyWatcher.watches.put("a", o)
(取代的「o '由在烏爾斷點引用澳表達)MyWatcher.watches.get("a")
foo()
,B/C的地圖持有O. AR裁判public class MyCode {
public static void main(final String[] args) {
bar();
foo();
}
static void bar() {
final Set<Object> set = new HashSet<>();
for (int i = 0; i < 10; i++) {
final List<Integer> o = Arrays.asList(i);
set.add(o);
}
}
static void foo() {
System.out.println("bar");
}
}
public class MyWatcher {
public static final Map<String, Object> watches = new HashMap<>();
}
在你的MyObject類中添加一個toString()方法。 你可以通過Eclipse使用: 右鍵單擊(在MyObject中) - > Source - > Generate toString()。 現在您將能夠看到MyObject的內容而不是哈希ID。
我的意思是使用散列或Eclipse的ID,以便能夠看到我對象都次,甚至在超出範圍時。我在代碼中的大HashSet中丟失了對象,然後引用對象在代碼中的某個地方得到更新,所以我希望使用其中一個ID來始終監視對象。 – user3499973
OP的問題是關於調試,而不是'toString'。 –