HSDB使用

一、HSDB介绍

HSDB(Hotspot Debugger),JDK自带的工具,用于查看JVM运行时的状态。位于JDK安装目录 …/jdk/lib/sa-jdi.jar 包中,是sa-jdi.jar包中的一个函数。

在这里插入图片描述

二、启动HSDB

  1. 使用cmd,并且切换到Jar所在目录,通过java -cp sa-jdi.jar sun.jvm.hotspot.HSDB命令启动HSDB插件
    在这里插入图片描述
  2. 启动后会弹出如下窗口

在这里插入图片描述

三、使用HSDB

  1. 启动一个Java类, while (true)死循环是为了不让进程结束,能够查询到进程id
public class Test {
    
    public static void main(String[] args) throws InterruptedException {
        while (true) {
        }
    }
}
  1. 通过jsp -l查看进程id,这里看到进程id是5520
    在这里插入图片描述
  2. 选择Attach to HotSpot process并把第2步获取的进程id 5520输入并点击OK。注:在点击OK时可能会发生一个问题。就是sawingbg.dll找不到的情况。它有可能被安装在了你的jdk文件夹内部的jre文件夹中。找到它并将其复制到指定文件夹中即可,具体请看最后报错解决方案在这里插入图片描述
    在这里插入图片描述

4.
4. 输入进程id后会弹出Java Threads,是线程信息。点击Tools–>Class Brower,可以查看到当前内存中被加载的类情况。其中0x00000007c0060828代表上面编写的Test类的内存地址。

在这里插入图片描述
在这里插入图片描述
5. 点击Tools–> Inspector,输入0x00000007c0060828可以看到具体类的情况。
在这里插入图片描述
在这里插入图片描述

四、报错解决方案

报错解决方案,将JDK安装包下jre/bin目录下的sawingbg.dll复制到报错的Can’t load library:xxx这个目录下面。复制过后使用java -cp sa-jdi.jar sun.jvm.hotspot.HSDB命令重新启动。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值