You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下CLion调试OpenJDK源码断点无法步入,求解决方案

问题:CLion调试OpenJDK源码JavaMain方法失败

我已将OpenJDK源码导入CLion,修改源码后运行自定义构建的应用程序可正常工作(附运行正常、调试正常状态截图),但调试源码时无法正常执行(附调试异常状态截图)。尝试修改编译数据库后问题仍未解决,需要实现:执行java -version命令时调试JavaMain方法的源码。

可行调试修复步骤

  • 指定自定义编译的java可执行文件为调试目标
    打开CLion的「Run/Debug Configurations」,调试目标选择自己编译生成的java可执行文件(不要选系统默认java),在「Program arguments」中填入-version。
  • 确保OpenJDK编译时生成调试符号
    重新编译OpenJDK必须开启调试模式:
    bash configure --enable-debug --with-jvm-variants=server
    make all
    
    同时保证CLion导入的源码路径和编译时的源码路径完全一致,避免符号匹配失败。
  • 配置CLion加载调试符号
    进入「Settings -> Build, Execution, Deployment -> Debugger -> Symbols」,添加OpenJDK编译产物build目录的路径,让CLion能正确识别调试符号。
  • 采用进程附加方式调试
    1. 在CLion中给JavaMain方法设置断点;
    2. 终端执行java -version瞬间,在CLion中通过「Run -> Attach to Process」找到并附加到java进程,触发断点。
  • 校验编译数据库参数
    检查compile_commands.json中JavaMain所在文件(如src/java.base/share/native/launcher/java.c)的编译参数,确认包含-g调试符号生成参数。

内容的提问来源于stack exchange,提问作者salklee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 07:07:37