我需要查看2个死锁线程的堆栈来分析情况。 JVM
现在正在运行,数据在那里,但我需要某种工具从流程中提取它。我只关心String
类型的堆栈中的6个变量。任何想法,不胜感激。 JVM
版本6_35
,这是一个linux
,JMX
已启用,但我没有配置一个profiler/debugger
连接。复制非常困难。我可以从实时JVM转储当前线程堆栈变量吗?
7
A
回答
3
你不能轻易做到这一点。正常的jstack
工具只会转储堆栈。从技术上讲,你可以尝试倾倒整个堆(使用jmap
),但如果可能的话寻找这个特定的变量可能是一个痛苦。
请注意,出于安全原因,这并不容易实现。堆栈跟踪可以包含凭据或其他敏感数据。
+2
我怀疑这是出于安全原因,“不容易实现”在黑客攻击方面从来就不是一个好方法。只是我2美分。 –
0
您可以发送过程中的SIGQUIT,这将给你一个dump and keep the VM running,在与Sun/Oracle的JVM类似Unix的操作系统,如将IBM's JVM - 不知道,如果输出将是适合你的目的,坚韧。在另一个答案中可能类似于jstack
/jmap
。
+0
这只是给出一个线程转储(每个线程调用的方法的序列)而不是每个线程中变量的状态。 –
1
相关问题
- 1. JVM堆栈变量
- 2. 执行线程转储时的VisualVM堆栈变量值
- 3. 我可以从当前事件堆栈返回Microsoft Access VBA吗?
- 4. 如何转储线程堆栈
- 5. JVM堆栈存储器
- 6. C#可转储函数转储当地变量的当前值
- 7. JVM - 堆栈和堆栈
- 8. JProfiler可以测量堆栈深度吗?
- 9. 我可以从pthread_self()获得一个线程的堆栈地址()
- 10. 我可以更改UINavigationController viewControllers堆栈吗?
- 11. 当Android应用程序崩溃时,我可以获得C++堆栈跟踪吗?
- 12. JVM线程转储位置
- 13. 当前逻辑线程增加/线程堆栈正在泄漏
- 14. 主线程没有调用堆栈的Java线程转储? (jsvc)
- 15. 可以净化找出堆栈变量的访问冲突吗?
- 16. 当变量变为字段,堆栈变为堆时,过程是什么?
- 17. 从JVM上的堆栈帧获取本地变量
- 18. 我可以将当前的nconf配置转储到对象吗?
- 19. Java堆转储是否包含线程堆栈
- 20. 堆栈变量
- 21. UWSGI堆栈转储
- 22. JVM堆栈自检
- 23. JVM堆栈访问
- 24. JVM只是映射堆栈页吗?
- 25. POSIX线程堆栈内存 - 我们可以有不同的堆栈大小和安全问题吗?
- 26. 我可以在当前数据中添加变量吗?
- 27. 最小核心转储(堆栈跟踪+仅当前帧)
- 28. 在GNAT编译Ada中转储当前堆栈?
- 29. 我可以在当前线程上添加关闭事件吗
- 30. 我可以锁定当前线程的SQLite表吗?
你好,投票者? – ShiDoiSi