首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在堆转储中查看程序变量名和值?

如何在堆转储中查看程序变量名和值?
EN

Stack Overflow用户
提问于 2013-11-21 18:13:21
回答 2查看 3.7K关注 0票数 3

在执行Java程序时,我使用JMAP创建JVM的堆转储。然后使用JHAT在浏览器中打开转储详细信息。

现在,我可以看到内存转储的许多细节,但我不知道如何简单地查看程序变量值及其值。你能带我到这里吗?我只需要使用命令行来显示变量的名称和值。

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2016-03-09 21:09:58

最简单的方法是使用jvisualvm:进入file菜单> Load >在下拉框中选择"Heap dump“并选择您的转储文件。

现在,您可以浏览各个类并查看其字段的值。

票数 2
EN

Stack Overflow用户

发布于 2013-11-21 18:35:19

浏览器更友好,你可以在这里找到一个快速教程

http://petermodzelewski.blogspot.in/2013/06/short-jhat-tutorial-diagnosing.html

用于命令行用法

http://docs.oracle.com/javase/7/docs/technotes/tools/share/jhat.html

编辑

第1步:让应用程序保持运行

步骤2:找到进程id (pID --比方说4416)步骤3:从(JDKHOME)运行下面的命令

jmap -dump:live,file=snapshot.11212013 4416

运行此命令后,您应该会收到一条消息

已创建

热转储

步骤4:执行以下命令启动jHat (

jhat -J-Xmx1024m快照。11212013

您应该会收到一条消息

已解析

快照。已在端口7000上启动HTTP服务器服务器已就绪。

第5步:打开浏览器进行以下操作:

http://localhost:7000/

步骤6:默认情况下,会显示指向所有类的链接

第7步:搜索您的类(浏览器的查找选项)

步骤8:单击链接将转到一个页面,在该页面中可以看到所有变量、引用、子类及其内存使用情况

-

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20118030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档