JVM堆棧自檢
回答
我發現的最接近的是Javaflow,它將本地變量的堆棧保存爲對象。您也可以使用它將堆棧恢復到保存狀態。
謝謝,這看起來不錯。我想知道Javaflow是否急切地將堆棧上下文保存到繼續對象中(即每次調用新方法或繼續運算符時),或者只有在調用運算符「Continuation.suspend」時才這樣做。 – axel22
我想它只有在被調用時,否則恢復不會太大用處。 ;) –
通過'恢復'你的意思是'continueWith'。啊,是的,如果'continueWith'可以多次使用,那麼可能只有在被問到時纔會保存堆棧。我很擔心表演,這就是我問的原因。但似乎Javaflow在類加載期間處理字節碼。我認爲儀表會在運行時(類加載後)發生,在需要時。我想知道如果每種方法都得到檢測,性能會有什麼影響。 – axel22
Thread.currentThread().getStackTrace()
有什麼問題?因爲poininted在這裏:stack overflow comment
這不包括堆棧上的變量 –
這對於調試目的更合適,因爲它只返回源代碼行,類的名稱和正在調用的類的方法,而不是實際的內容堆棧框架。 – axel22
看看這個頁面: http://download.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/tools.html
他們有上市jstack實用程序:從Java進程
此實用程序可以獲取Java和本機堆棧信息。在Solaris OS和Linux上,該實用程序還可以從核心文件或遠程調試服務器獲取信息。請參閱2.11 jstack實用程序。
我從來沒有使用過它,但我已經使用了jdk自帶的Visual VM工具。
HTH, James
- 1. JVM - 堆棧和堆棧
- 2. JVM堆棧變量
- 3. JVM堆棧訪問
- 4. JVM堆棧存儲器
- 5. JVM日誌堆棧跟蹤
- 6. 檢查堆棧
- 7. 哪些JVM語言是無堆棧的?
- 8. JVM只是映射堆棧頁嗎?
- 9. 自定義JVM語言:創建可用的堆棧跟蹤?
- 10. 檢測堆棧或堆分配
- 11. 檢查堆棧組件
- 12. 檢測到堆棧損壞
- 13. c堆棧粉碎檢測
- 14. 希望堆棧堆棧?
- 15. Bootstrap自定義堆棧
- 16. 自舉div不堆棧
- 17. Sensu檢查jvm堆不工作
- 18. JVM堆參數
- 19. 堆棧或堆
- 20. 將自定義域從雪松堆棧轉換爲Bamboo堆棧
- 21. 字符堆棧,字符串堆棧,整數堆棧,整數數組堆棧等
- 22. 全堆棧,堆棧交換等,什麼是堆棧?
- 23. 堆棧
- 24. 堆棧
- 25. 堆棧
- 26. 無法分配超過1397mb的JVM堆棧
- 27. 在JVM堆分配或棧分配框架?
- 28. 如何在Grails BuildConfig中設置JVM堆棧大小
- 29. JVM 104:黑莓模擬器堆棧溢出錯誤
- 30. 如何從JVM堆棧跟蹤知道這是在GC暫停
正確,如果您還需要變量,請使用此API。 –
這裏是主頁面的鏈接:http://java.sun.com/javase/technologies/core/toolsapis/jpda/把這個答案出來的榮譽! –
不錯,謝謝!我正在查看它。 – axel22