gpt4 book ai didi

java - jhat 抛出无法识别的魔数(Magic Number)

转载 作者:搜寻专家 更新时间:2023-11-01 02:48:56 26 4
gpt4 key购买 nike

我正在尝试分析从遇到内存问题的 Java 进程中获取的堆转储。转储是使用 jmap 获取的。我在转储文件上使用 jhat - 我得到了

java.io.IOException:无法识别的魔数(Magic Number):169897589
在 com.sun.tools.hat.internal.parser.Reader.readFile(Reader.java:94)
在 com.sun.tools.hat.Main.main(Main.java:159)

jdk 1.6和1.7都报同样的错误。我在我的 Windows 机器上本地运行 jhat(在将转储文件复制过来之后)并且转储文件是在 Linux 服务器上获取的。

知道我做错了什么吗?

最佳答案

如果你看一下 com.sun.tools.hat.internal.parser.Reader 的源代码,您会看到它正在寻找魔数(Magic Number) 0x4a415641 .

此值用于帮助识别有效的堆转储文件。 jmap 应将此值附加为它创建的任何堆转储文件的前四个字节。

我建议在十六进制编辑器中打开堆转储并检查前四个字节是否为 0x4a415641。在您的 Linux 和 Windows 计算机上检查此文件。传输文件时文件可能已损坏。

关于java - jhat 抛出无法识别的魔数(Magic Number),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15507047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com