当前位置:  开发笔记 > 编程语言 > 正文

Java进程的转储文件分析?

如何解决《Java进程的转储文件分析?》经验,为你挑选了3个好方法。

如果我使用Windbg转储在Windows上运行的Java进程

我可以(简单地)分析Java堆,对象和线程吗?

就像我可以用SOS进行.Net过程一样?

否则 - 我如何离线调试生产系统上发生的问题?

谢谢!



1> Boris Pavlov..:

有一个Java堆分析工具



2> Aaron McIver..:

jvisualvm可用于加载转储然后进行分析

编辑:

这是JDK redist ...


该工具可用于查看Windows崩溃转储文件(.dmp)?我没有办法做到这一点.

3> Codeguard..:

Windows minidumps(.dmp)可以与以下实用程序一起使用:

    jvisualvm JDK的实用程序可以使您同时进行线程转储和堆转储

    打开 jvisualvm

    Applications窗格中,找到VM Coredumps

    右键点击

    选择 Add VM Coredump...

    浏览到您的.dmpminidump文件

    OK

    右键单击下面的新项目 VM Coredumps

    选择 Thread Dump

    重复 Heap Dump

    jstack JDK中的实用程序可以显示Windows minidumps(.dmp)中的Java堆栈

    这是一个批处理脚本:

    :: Shows java stack from Windows minidumps
    :: Argument %1: Path to minidump
    @ECHO OFF
    
    SET JDK_PATH=C:\Program Files\Java\jdk1.8.0_181\bin
    
    "%JDK_PATH%\jstack.exe" "%JDK_PATH%\java" "%~1"
    PAUSE
    

    jmap JDK的实用程序可以将Windows minidump(.dmp)转换为Java堆转储(.hprof)

    这是一个批处理脚本:

    :: Converts Windows minidump to Java heap dump (.hprof)
    :: Argument %1: Path to minidump
    @ECHO OFF
    
    SET JDK_PATH=C:\Program Files\Java\jdk1.8.0_181\bin
    
    "%JDK_PATH%\jmap.exe" -F -dump:format=b,file="%~dpn1.hprof" "%JDK_PATH%\java" "%~1"
    PAUSE
    

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有