打开hsdb程序
进入目录
C:\Program Files\Java\jdk1.8.0_251\lib
执行命令
java -cp .\sa-jdi.jar sun.jvm.hotspot.HSDB
报错
如果报错
Exception in thread “Thread-1” java.lang.UnsatisfiedLinkError: Can’t load library: C:\Program Files\Java\jre1.8.0_251\bin\sawindbg.dll
at java.lang.ClassLoader.loadLibrary(Unknown Source)
解决
把C:\Program Files\Java\jdk1.8.0_251\jre\bin\sawindbg.dll
复制到C:\Program Files\Java\jre1.8.0_251\bin目录下
连接程序
先得到java的进程id

输入进程id
连接成功
console
windows菜单下的console
universe
查看内存区间
scanoops
扫描指定内存区间,类的类型
scanoops 0x000000076b180000 0x000000076fc00000 java.lang.String
hsdb> scanoops 0x0000000700b00000 0x00000007019666c8 stringtable.StringDemo
0x0000000700c5c080 stringtable/StringDemo
0x0000000700c5c6b0 stringtable/StringDemo
图形化看堆区域
inspect
命令inspect
查看某个类的信息
图形化inspector
Object Histogram
revptrs
revptrs 0x000000076b426f08