gpt4 book ai didi

java - Java进程的dump文件分析?

转载 作者:搜寻专家 更新时间:2023-10-30 19:43:14 25 4
gpt4 key购买 nike

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

我可以(轻松地)分析 Java 堆、对象和线程吗?

就像我可以为 .Net 进程使用 SOS 一样?

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

谢谢!

最佳答案

Windows 小型转储 (.dmp) 可以与这些实用程序一起使用:

  1. jvisualvm 来自 JDK 的实用程序可以为您提供线程转储和堆转储

    • 打开jvisualvm
    • Applications Pane 中,找到 VM Coredumps
    • 右键单击它
    • 选择添加 VM Coredump...
    • 浏览到您的 .dmp 小型转储文件
    • 确定
    • 右键单击 VM Coredumps 下的新项目
    • 选择线程转储
    • 重复堆转储
  2. jstack 来自 JDK 的实用程序可以显示来自 Windows 小型转储 (.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
  3. jmap 来自 JDK 的实用程序可以将 Windows 小型转储 (.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

关于java - Java进程的dump文件分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3883029/

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