簡體   English   中英

java debugging - 觀察超出范圍的變量

[英]java debugging - watch an out of scope variable

在調試C / C ++應用程序時,我可以創建一個轉換為指針類型的地址的監視,然后查看結構的內容,即使它超出范圍。 是否有可能在Java中實現類似的東西?
假設我在一個方法中,我添加了一個像“&this”這樣的東西,然后當我離開類方法時,我仍然可以看到它的內容,即使它超出了范圍?

我很確定我的問題的答案是“不”,所以我最感興趣的是“為什么不呢?” 說明。 這是JVM的限制嗎? JPDA限制? 有沒有更好的地方提出這樣一個專門的問題?

在C / C ++中,您正在觀察(指向的區域)一個任意指針,轉換為該變量。

在Java中沒有指針。 你只能watch變量。 超出范圍它不存在。

你還為什么要看它呢? 如果你把手表放在上面,它會在范圍內正確觀察。

您無法觀看不在范圍內的變量。

但是,如果找到指向它的另一個變量,則可以觀察同一個對象。

觀察一個沒有被引用的對象是沒有意義的(它不會以任何方式影響程序執行,它不能再被更改,它將被垃圾收集並且內存被完全不同的東西重用)。

Java級調試工具仍然可以在JVM內存管理之上工作,因此您需要對對象進行有效引用,您不能只查看隨機內存區域。

暫無
暫無

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

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