• jdk编译


    macos配置情况:

    jdk编译依赖比当前版本至少小一个版本的jdk版本,作为boot,jdk,boot jdk下载:https://jdk.java.net/17/:

    https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_macos-x64_bin.tar.gz

    /Users/aktiger/Downloads/jdk-jdk-18-30

    ./configure --with-debug-level=fastdebug  --with-boot-jdk=/Users/aktiger/tools/jdk-17.0.2.jdk/Contents/Home

     ./configure --with-boot-jdk='/Users/aktiger/tools/jdk-17.0.2.jdk/Contents/Home' --with-debug-level=slowdebug --with-target-bits=64 --disable-warnings-as-errors --enable-dtrace --with-jvm-variants=server

    如果要启用zero解析器,

    ./configure --with-boot-jdk='/Users/aktiger/tools/jdk-17.0.2.jdk/Contents/Home' --with-debug-level=slowdebug --with-target-bits=64 --disable-warnings-as-errors --enable-dtrace --with-jvm-variants=server --with-jvm-features=zero --with-jvm-variants=zero 

    否则bytpecodeinterpreter.cpp在clion中会飘红,因为编译生成的.o文件中都没有bytecodeinterpreter.o

     

    configure完成后,在代码目录执行 make CONF=macosx-x86_64-server-slowdebug compile-commands


     编译带zero解析器的jvm,用如下命令:make CONF=macosx-x86_64-zero-slowdebug compile-commands

     

    添加了zero选项后,就可以看到bytecodeInterpreter.o的目标文件

    使用clion,选择compile_commands.json,然后选择open as project:

      

     修改源代码的路径,为jdk下载的根目录:/Users/aktiger/Downloads/jdk-jdk-18-30

     

     打开后,头文件不在飘红了:

     

    执行完后,目录结果如下:

     编译好的java如下:

    clion调试:

     

    参考:

    1. https://blog.csdn.net/whbing1471/article/details/105909135 

    2. https://generalthink.github.io/2020/07/22/debug-jvm-12-in-macox/

    3. 开启zero解析器:https://segmentfault.com/a/1190000005082098 

    4. clion 调试java -version 详细配置 https://www.jianshu.com/p/1121cc4be0a0

  • 相关阅读:
    WSGI,uwsgi,uWSGI
    彻底关闭win10自动更新
    利用python实现单向链表
    Maven的工程类型有哪些
    Maven仓库是什么
    什么是Maven
    Shiro 的优点
    比较 SpringSecurity 和 Shiro
    shiro有哪些组件
    接口绑定有几种实现方式,分别是怎么实现的
  • 原文地址:https://www.cnblogs.com/justinzhang/p/15845749.html
Copyright © 2020-2023  润新知