[英]Java Access to Local Variable Names
我正在編寫一個程序,我想在程序執行期間訪問局部變量的變量名,並在外部傳遞它們。 我知道Java會在編譯期間轉儲本地變量名,除非在調試模式下編譯。
看了一下之后,似乎JDI / JPDA就是這種工作的方式。 假設ref
引用了ThreadReference
,以下是我到目前為止的內容:
ref.suspend();
StackFrame currentFrame = ref.frame(0);
List<LocalVariable> vars = currentFrame.visibleVariables();
ref.resume();
兩個問題:
ThreadReference
以設置為ref
? LocatableEvent似乎是我需要的,但任何人都可以提供一個如何使用它的例子嗎? 提前謝謝了!
很多人都沒有這方面的經驗。
到別處尋找答案。 我有代碼的鏈接,但他們不再。 無法刪除此答案,因為它已被接受答案。
是的,你走在正確的軌道上!
對於任何想要嘗試開始使用JDI的人來說,“跟蹤”示例非常寶貴:
http://www.docjar.com/docs/api/com/sun/tools/example/trace/package-index.html
它是一個可用的骨干。 它向您展示了如何使用事件,這確實會給您一個ThreadReference。 它還向您展示了如何以編程方式啟動第二個JVM。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.