<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>archive</title><link>https://archive-w.netlify.app/doc/advance/jdk/</link><description>Recent content on archive</description><generator>Hugo</generator><language>zh-CN</language><atom:link href="https://archive-w.netlify.app/doc/advance/jdk/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>https://archive-w.netlify.app/doc/advance/jdk/build/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://archive-w.netlify.app/doc/advance/jdk/build/</guid><description>&lt;h2 id="编译jdk">
 编译JDK
 &lt;a class="anchor" href="#%e7%bc%96%e8%af%91jdk">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>
&lt;h3 id="build">
 build
 &lt;a class="anchor" href="#build">#&lt;/a>
&lt;/h3>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="shell" data-line="" class="language-shell line-numbers" style="max-height: none">&lt;code class="language-shell"># 下载xcodeapp[(~7G), OS version [13.3.1 (22E261)]
wget -c https://download.developer.apple.com/Developer_Tools/Xcode_14.3.1/Xcode_14.3.1.xip
# 切换xcode 到xcodeapp
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -license

# 配置
# disable-warnings-as-errors选项是禁止把warning 当成error
# --with-debug-level=slowdebug。用来设置编译的级别，可选值为release、fastdebug、slowde-bug，越往后进行的优化措施就越少，带的调试信息就越多。默认值为release。slowdebug 含有最丰富的调试信息，没有这些信息，很多执行可能被优化掉，我们单步执行时，可能看不到一些变量的值。所以最好指定slowdebug 为编译级别。
# with-jvm-variants 编译特定模式的HotSpot虚拟机，可选值：server、client、minimal、core、zero、custom
# configure 命令承担了依赖项检查、参数配置和构建输出目录结构等多项职责，如果编译过程中需要的工具链或者依赖项有缺失，命令执行后会得到明确的提示，并给出该依赖的安装命令。
bash configure --disable-warnings-as-errors --with-debug-level=slowdebug --with-jvm-variants=server
# 编译
make images

# 生成compile_commands.json文件
make compile-commands
&lt;/code>&lt;/pre>&lt;/div>
&lt;/li>
&lt;li>
&lt;h3 id="loaded-to-clion">
 loaded to clion
 &lt;a class="anchor" href="#loaded-to-clion">#&lt;/a>
&lt;/h3>
&lt;p>&lt;img src="https://archive-w.netlify.app/.images/doc/advance/jdk/jdk-build-01.png" alt="" width="45%">
&lt;img src="https://archive-w.netlify.app/.images/doc/advance/jdk/jdk-build-04.png" alt="" width="54%">
&lt;img src="https://archive-w.netlify.app/.images/doc/advance/jdk/jdk-build-02.png" alt="" width="40%">
&lt;img src="https://archive-w.netlify.app/.images/doc/advance/jdk/jdk-build-03.png" alt="" width="40%">&lt;/p>
&lt;/li>
&lt;li>
&lt;h3 id="debug">
 debug
 &lt;a class="anchor" href="#debug">#&lt;/a>
&lt;/h3>
&lt;p class="warn">使用lldb debug的时候会出现 Signal: SIGSEGV (signal SIGSEGV) ,&lt;code>目前切换到gdb断点不生效，未解决。&lt;/code>
&lt;br> 可以


 &lt;a href="https://lrting.top/backend/11766/" rel="noopener" target="_blank">参考&lt;/a>添加下列代码解决。如果是gdb的话，


 &lt;a href="https://jiawanggjia.github.io/post/openjdk-bian-yi-zhi-nan/" rel="noopener" target="_blank">参考&lt;/a>&lt;/p></description></item></channel></rss>