一:场景
如果你是mac系统 或者类型linux系统上,可以直接用工具进行debug。
可是我是Windows怎么弄呢?怎么调试openjdk呢?
一是 用Windows版本的openjdk进行编译然后debug(问题多多……因为要在Windows上模拟linux环境进行编译 需要下载很多软件 还有各种配置 ,本人已放弃。如果有人编译了 Windows版本的openjdk 请发出来 谢谢)
二是 在linux上进行编译,这个相对简单多了(可以参考我之前的那篇 linux上编译openjdk),编译好了,此时怎么弄呢?在Windows上 这里推荐 Clion+gdbserver 远程debug方式。
二:解决方案大体思路
在linux上编译,Windows上借用 Clion+gdb进行远程debug测试
三:具体实现步骤
参考: linux编译 openjdk
public class Test {
public static void main(String[] args) {
System.out.println(">>>>>>>>>>>>>>>>"+Thread.currentThread().getName());
}
}
javac -g Test.java
yum install -y gdb-gdbserver
path mapping 那需要写上对应的目录 ,这个要对好 我都是写到 openjdk 这
gdbserver :1234 java Test
如图表示成功:
处理:我们可以用gdb 查看,(后续我的视频 或者文档 跟进 openjdk 源码大都都是 经验了 每次 gdb验证下 还是挺麻烦的)
1. 还在我们生成的bin位置
gdb java (表示我们要debug java程序)
set args Test (Test 是我们生成的class文件)
start
可以看到 第一个断点位置 main.c 文件97行。(这下没人杠精了吧 )