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验证Class对象和类的静态对象保存在堆中

    HSDB(Hotspot Debugger) 运行 本文使用的时命令行CLHSDB。由于HSDB会先attach进...

  • HSDB

    1 定义 HSDB ( Hotspot Debugger) 。 jdk自带的 检查调试java进程的工具。最近在深...

  • 使用HSDB

    HSDB(Hotspot Debugger),JDK自带的工具,用于查看JVM运行时的状态。 HSDB位于C:\P...

  • The Top-Level HotSpot Debugger -

    HSDB: The top-level HotSpot Debugger debuggergdb c,c++ ba...

  • JVM-HSDB

    进入目录 执行命令 其他:查看java进程id: 学习参考 https://www.yidot.net/singl...

  • HSDB和CLHSDB

    HSDB 是专门用于调试 HotSpot VM 的调试器,它是一个图形化界面。与之对应的还有个 CLHSDB-Co...

  • JVM

    查看字节码文件:javap -c Person.class使用HSDB查看内存:E:\JDK\jdk1.8.0\...

  • HSDB(Hotspot Debugger) 使用

    1. JAVA_HOME确认,方便起见, 添加sa-jdi.jar到classpath中 source .bash...

  • mac 启动HSDB Attach报错解决

    启动HSDB 执行启动命令 如果没有权限:sudo chmod -R 777 你的文件夹名【sa-jdi.jar】...

  • JDK中的SA(ServiceAbility)工具介绍

    最近在网上看到rednaxelafx关于HSDB的介绍,感觉打开了解jvm细节的一扇大门,之前只是纯粹的了解理论,...

网友评论

      本文标题:HSDB

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