千家信息网

Clion怎么导入OpenJDK11源码并调试

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇文章给大家分享的是有关Clion怎么导入OpenJDK11源码并调试,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。导入源码到CLIO
千家信息网最后更新 2026年10月31日Clion怎么导入OpenJDK11源码并调试

本篇文章给大家分享的是有关Clion怎么导入OpenJDK11源码并调试,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

导入源码到CLION

打开CLION -> New CMake Project from Sources

然后选择JDK源码目录,然后按默认勾选,点OK,如下图所示:

调整CMakeList.txt

如果直接按默认的CMakeList.txt来, 会发现任意打开一个代码, 都是全面飘红.

保留下来的CMakeList.txt 主要有两部分:

一.include_directories

这个是为了构建代码索引, 在Clion中看起来不是全面飘红

二.add_executable

这个是为了能在Clion中创建执行程序, 可以直接执行我们的java程序

然后原有的test目录都删除掉

完整的CMakeList.txt因为大长,就不复制,可前进github查看:

https://github.com/xiaodaojava/openjkd11-CmakeList

开始调试

在右上角,和idea一样的位置,创建一个Cmake Application

然后我们把断点打到jdk11/src/java.base/share/native/libjli/java.c 394行

如下图所示:

然后点击debug运行:

可以看到进入断点,并且在Debug面板可以看到我们传入的-version参数

在调试过程中,会遇到error: No current target; cannot handle signals until you have a valid target and process.这个错, 先不管, 直接继续运行

最终会在控制台看到如下输出:

LLDB的Signal: SIGSEGV (signal SIGSEGV)

解决上面出现的LLDB异常暂停的错误,需要我们在入口断点处也就是进入到394行时就输入如下命令

process handle --pass true --stop false SIGSEGVprocess handle --pass true --stop false SIGBUS

如下图所示:

然后放过断点继续运行,可以看到, 这次程序没有意外暂停, 而且在控制台输出

开始的调试并不麻烦,也只传了一个-version参数做测试. 后面我们要编写java程序, 并且观察虚拟机是如何执行我们的java代码,大家一起加油!

以上就是Clion怎么导入OpenJDK11源码并调试,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

源码 断点 程序 代码 运行 参数 控制台 更多 目录 知识 篇文章 部分 控制 输出 中看 实用 意外 也就是 位置 入口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技股 互联网科技资迅 互联网中国科技 金融科技创新监管互联网金融 互联网科技公司怎么样 佰商互联网科技有限公司 佩信高科技互联网 互联网科技公司的市场部门 互联网教育科技公司vipkid 北京华百购互联网科技有限公司 互联网科技产业特征 深圳育鹏互联网科技有限公司招聘 朱啸虎曾投资哪些互联网科技企业 卓翼科技产业互联网合作 互联网科技数字货币 上海创道互联网络科技有限公司 35岁以上互联网科技行业 江苏互联网智能科技产品出厂价 广西泛欧互联网科技有限公司 银川新华互联网科技学校招聘 上海睿民互联网科技有限公司 互联网科技官网 喔噻互联网科技 互联网科技公司电话 鑫亿盛互联网科技 互联网公司黑科技创始人 互联网高科技行业有哪些企业 10位科技互联网大佬 青岛互联网科技园 高科技和互联网的现代国家
0