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