HSDB

作者: cf6bfeab5260 | 来源:发表于2020-08-18 11:22 被阅读0次

    1 定义

    HSDB ( Hotspot Debugger) 。 jdk自带的 检查调试java进程的工具。
    最近在深入学习jvm,会用到这个神器辅助学习,所以记录一下用法。

    2 使用

    我的是mac版本

    2.1 启动

    sudo java -cp /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib/sa-jdi.jar sun.jvm.hotspot.HSDB
    这里一定要注意,如果你的机器有多个jdk,那你启动的jdi的版本,一定要与你要attach的java进程的运行环境的jdk版本一致,否则会遇到很多问题。
    启动完成以后是这个样子:

    image.png

    2.2 attach一个java进程

    用main方法,启动了一个java进程,并一直等待录入:

    public static void main(String[] args) throws IOException {
            String zhTest="zenghong test";
            System.in.read();
        }
    

    使用jps查看java进程号是 23372

    zenghong@MacBook-Pro:~$ jps
    19601 RemoteMavenServer
    23363 Launcher
    99462
    23372 HeartBeatCheckController
    23486 Jps
    782
    

    attach进程号:


    image.png
    image.png

    可以看到对应线程


    image.png

    2.3 查看一个对象

    Tools > Class Browser


    image.png

    拿到内存地址: 0x00000007c0060828

    Tools > Inspector


    image.png

    完结。

    相关文章

      网友评论

          本文标题:HSDB

          本文链接:https://www.haomeiwen.com/subject/wrphjktx.html