HSDB - HotSpot debugger
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HSDB - HotSpot debugger相关的知识,希望对你有一定的参考价值。
HSDB 是专门用于调试 HotSpot VM 的调试器,它是一个图形化界面。与之对应的还有个 CLHSDB-Command Line HotSpot Debugger,命令行调试界面。下面是启动命令:
java -cp .;%JAVA_HOME%/lib/sa-jdi.jar sun.jvm.hotspot.HSDB # 启动图形界面 java -cp .;%JAVA_HOME%/lib/sa-jdi.jar sun.jvm.hotspot.CLHSDB # 启动命令行界面
启动 HSDB 后,使用 File -> Attach to HotSpot process 连接到目标进程:
连接成功后,默认打开 Java Threads 界面,当选中一个线程比如main,工具栏变为可用,如下:
- Inspector:查看 OOP 和 Klass 对象信息,双击线程名称也能够查看此信息
- Stack Memory:线程栈内存
- Show Java Stack Traces:显示线程堆栈信息
- Show Thread Infomation:显示线程信息
- Find Crashes
(1)Inspector
(2)Stack Memory
栈内存界面有 3 栏信息,从左到右依次是:内存地址,指虚拟地址不是物理地址;该地址数据,以字宽为单位,如下图是在64位的机器的情况,字宽就是64位=8字节;相关注释,竖线表示范围,横线表示说明。
以上是关于HSDB - HotSpot debugger的主要内容,如果未能解决你的问题,请参考以下文章
JVMlinuxlinux上执行jmap命令查看JVM内存使用情况,报错:sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not f