首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何分析jar中的类?

如何分析jar中的类?
EN

Stack Overflow用户
提问于 2012-11-06 00:40:15
回答 1查看 1.6K关注 0票数 2

如果我在试图分析的JAR (用mvn assembly:assembly编译)中有一个类,那么什么命令可以获得一个有效的核心转储,我可以在jhat或Eclipse Memory Analyzer中使用它?

我试着运行这个:

java -agentlib:hprof=heap=sites,cpu=samples,file=profile.hprof,format=b -jar the-jar.jar

核心转储是在我停止进程时创建的。

但是jhat和Eclipse Memory Analyzer都不会将其识别为有效的转储。

jhat给了我这样的警告:

代码语言:javascript
复制
Resolving 0 objects...
WARNING:  hprof file does not include java.lang.Class!
WARNING:  hprof file does not include java.lang.String!
WARNING:  hprof file does not include java.lang.ClassLoader!

另外,在阅读hprof文档时,我发现必须传递类名。当它在罐子里的时候我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-06 01:23:43

类是从JAR文件加载的这一事实与堆转储无关。

您可以使用jmap获取可用的HPROF堆转储,而无需修改启动命令。

代码语言:javascript
复制
jmap -heap:format=b <pid>

其中是您可以使用jps命令行工具获取的进程id。这两个可执行文件都是JDK的一部分。

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

https://stackoverflow.com/questions/13236444

复制
相关文章

相似问题

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