【学习笔记】启动HSDB并连接到Hotspot进程
2022/8/2 5:23:51
本文主要是介绍【学习笔记】启动HSDB并连接到Hotspot进程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
学习文档:Windows10上启动HSDB并查看运行时数据 #50
一、启动 HSDB
Windows
在桌面上新建文本格式的 hsdb.bat 文件,然后双击启动该程序:
java -cp %JAVA_HOME%\lib\sa-jdi.jar sun.jvm.hotspot.HSDB
Ubuntu
在 ~
用户目录创建文件 Makefile,如果有的话就不要重复创建。在文件中追加以下内容:
hsdb: sudo java -cp ${JAVA_HOME}/lib/sa-jdi.jar sun.jvm.hotspot.HSDB
在 ~
用户目录执行 make hsdb
命令,可能会出现以下错误:
No protocol specified
Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':10.0' as the value of the DISPLAY variable.
我在 bing.com 搜索 “启动hsdb No protocol specified”,然后找到一些资料。
如果执行 xhost +
以下结果,表示正确:
geekziyu@ubuntu-1:~$ xhost +
access control disabled, clients can connect from any host
然后,我照着网上说的,执行 export DISPLAY=:1
或者 export DISPLAY=localhost:1
,再执行 xhost +
出现错误
geekziyu@ubuntu-1:~$ export DISPLAY=localhost:1
geekziyu@ubuntu-1:~$ xhost +
xhost: unable to open display "localhost:1"
geekziyu@ubuntu-1:~$ export DISPLAY=:1
geekziyu@ubuntu-1:~$ xhost +
xhost: unable to open display ":1"
最后,我又重新设置了第一次启动hsdb报错时的值:10.0
,然后莫名其妙地就好了
geekziyu@ubuntu-1:~$ export DISPLAY=:10.0
geekziyu@ubuntu-1:~$ xhost +
access control disabled, clients can connect from any host
geekziyu@ubuntu-1:~$ make hsdb
我说不出为什么,反正就是很奇怪。
二、让你的程序运行后死循环或者阻塞
常见的手段,在Java的main函数最后一行加一句代码
- 或者 System.in.read();
- 或者 Thread.sleep(Integer.MAX_VALUE);
- 或者 while (true);
接着,IDEA中运行main方法,启动上面的进程。
然后,命令行中输入 jps
查看 JVM 进程:
三、连接到Hotspot进程
打开HSDB界面,左上角点击File > Attach to Hotspot process,输入12988,点击OK或回车
如果遇到 Attach Processing 一直卡的情况,并且打开 HSDB 的命令行出现类似
java.lang.UnsatisfiedLinkError: Can't load library:D:\Common\Java\jre1.8.0_131\bin\sawindbg.dll
这样的错误,则需要从 JDK 的安装路径下\jre\bin(比如我的是 D:\Common\Java\jdk1.8.0_131\jre\bin)拷贝 sawindbg.dll 文件到出错目录(比如我的是D:\Common\Java\jre1.8.0_131\bin\)下。
参考文档:HSDB时,关于解决UnsatisfiedLinkError sawindbg.dll的问题笔记
这篇关于【学习笔记】启动HSDB并连接到Hotspot进程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-28一步到位:购买适合 SEO 的域名全攻略
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign学习入门:轻松掌握微服务通信
- 2024-12-27OpenFeign学习入门:轻松掌握微服务间的HTTP请求
- 2024-12-27JDK17新特性学习入门:简洁教程带你轻松上手
- 2024-12-27JMeter传递token学习入门教程
- 2024-12-27JMeter压测学习入门指南
- 2024-12-27JWT单点登录学习入门指南
- 2024-12-27JWT单点登录原理学习入门