成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

OpenJDK9 Hotspot Mac OSX 編譯和調(diào)試

zhichangterry / 3183人閱讀

摘要:占用率太高,還出各種奇怪問題,轉(zhuǎn)投調(diào)試安裝下載源代碼漫長等待,中間無數(shù)次中斷安裝安裝可選如果要使用解釋器,需要安裝設(shè)置調(diào)試級(jí)別,設(shè)成可以提供更多的調(diào)試信息設(shè)置路徑

Intellij CLion CPU 占用率太高,還出各種奇怪問題,轉(zhuǎn)投 Xcode 調(diào)試 hotspot

安裝 hg
# brew install hg 
下載 open jdk 9 源代碼
# hg clone http://hg.openjdk.java.net/jdk9/dev

漫長等待,中間無數(shù)次中斷

安裝 freetype
# brew install freetype
安裝 libffi(可選)

如果要使用 zero 解釋器,需要安裝 libffi

# brew install libffi
configure
# bash configure --with-debug-level=slowdebug 
--with-freetype=/usr/local/opt/freetype 
--disable-warnings-as-errors 
--with-jvm-features=zero 
--with-jvm-variants=zero 
--with-libffi=/usr/local/opt/libffi 
--with-libffi-include=/usr/local/Cellar/libffi/3.0.13/lib/libffi-3.0.13/include
--with-debug-level

設(shè)置調(diào)試級(jí)別,設(shè)成 slow debug 可以提供更多的調(diào)試信息

--with-free-type

設(shè)置 free type 路徑

--disable-warnings-as-errors

忽略警告

--with-jvm-features

設(shè)置使用 c++ 實(shí)現(xiàn)的 zero 解釋器,比基于模版的解釋器更容易調(diào)試(如果匯編功力不夠的話)

--with-jvm-variants

配合 --with-jvm-features 使用

--with-libffi

配合 --with-jvm-features 使用

--with-libffi-include

設(shè)置 libffi include 文件夾路徑

make
# make

構(gòu)建成功后:
jdk -> build/macosx-x86_64-normal-server-slowdebug/jdk
hotspot -> build/macosx-x86_64-normal-server-slowdebug/hotspot

Xcode 調(diào)試 新建 command line 工程

新建一個(gè) command line(命令行工具)工程,新建后刪除 XCode 自動(dòng)生成的代碼

編輯 hotspot scheme

首先去掉 IDE build 配置,因?yàn)槲覀儫o法(也不需要)在IDE中構(gòu)建 hotspot,其次將運(yùn)行目標(biāo)修改為: /build/macosx-x86_64-normal-server-slowdebug/jdk/bin/java(在編譯源代碼階段已經(jīng)生成)

添加 hotspot src 到工程

右擊 hotspot 工程,選擇 "add files to project" 添加 /hotspot/src 到工程中

在 jni.cpp 的 JNI_CreateJavaVM 方法中設(shè)置斷點(diǎn), goooooo

如果出現(xiàn) sigsegv 信號(hào)中斷,可以在 lldb 中設(shè)置

(lldb) process handle SIGSEGV --stop=false

上圖

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65895.html

相關(guān)文章

  • OpenJDK9 Hotspot:Zero 解釋器 初探

    摘要:準(zhǔn)備工作假設(shè)源代碼目錄為編譯時(shí)啟用了解釋器參考編譯和調(diào)試調(diào)用棧先在函數(shù)參考虛擬機(jī)入口中設(shè)斷點(diǎn),然后在的方法中設(shè)置斷點(diǎn)通過宏獲取當(dāng)前,然后創(chuàng)建第個(gè)棧幀,然后進(jìn)入解釋執(zhí)行字節(jié)碼 準(zhǔn)備工作 假設(shè) openjdk 源代碼目錄為 jdk9dev 編譯 openjdk 時(shí)啟用了 zero 解釋器(參考 OpenJDK9 Hotspot Mac OSX 編譯和調(diào)試) 調(diào)用棧 先在 JavaMai...

    zhangqh 評(píng)論0 收藏0
  • OpenJDK9 Hotspot java 虛擬機(jī)入口

    摘要:假設(shè)源代碼目錄為函數(shù)函數(shù)在,它處理完命令行參數(shù)后跳轉(zhuǎn)到函數(shù)處理命令行選項(xiàng)函數(shù)在,它調(diào)用加載這個(gè)就是編譯的產(chǎn)出在系統(tǒng)下在使用加載動(dòng)態(tài)庫并獲取函數(shù)入口地址在系統(tǒng)下在熟悉的同學(xué),對(duì)下面的代碼應(yīng)該會(huì)感到很親切創(chuàng)建對(duì)象,并將控制流跳轉(zhuǎn)到呵呵,在 假設(shè) openjdk 源代碼目錄為 jdk9dev main函數(shù) main 函數(shù)在 jdk9dev/jdk/src/java.base/share/na...

    JaysonWang 評(píng)論0 收藏0
  • OpenJDK9 Hotspot 虛擬機(jī)內(nèi)部對(duì)象內(nèi)存管理

    摘要:前言語言可以精確控制對(duì)象內(nèi)存分配,出于性能考慮框架系統(tǒng)程序基本都會(huì)自己造輪子開發(fā)各種內(nèi)存管理模塊也不例外,它通過和方法的訪問級(jí)別以及重載和方法來管理虛擬機(jī)內(nèi)部對(duì)象的內(nèi)存內(nèi)存管理相關(guān)的基類定義了幾個(gè)基類來作為大部分對(duì)象的基類顧名思義,它們只能 前言 C++ 語言可以精確控制對(duì)象內(nèi)存分配,出于性能考慮 C++ 框架 or 系統(tǒng)程序基本都會(huì)自己 造輪子 開發(fā)各種內(nèi)存管理模塊. hotspot...

    W_BinaryTree 評(píng)論0 收藏0
  • OpenJDK9 Hotspot : synchronized 淺析

    摘要:前言網(wǎng)上各路大神總結(jié)過各種關(guān)于內(nèi)部實(shí)現(xiàn),看別人的文章總覺得不過癮,所以有了這篇文章,嘗試再扒一次的底褲數(shù)據(jù)結(jié)構(gòu)在分析源代碼之前需要了解相關(guān)概念,比如等,參考網(wǎng)絡(luò)上各種解說或者之前系列文章,這里重點(diǎn)介紹一下,,每個(gè)在內(nèi)部都有一個(gè)的對(duì)象與之對(duì)應(yīng) 前言 網(wǎng)上各路大神總結(jié)過各種關(guān)于 hotspot jvm synchronized 內(nèi)部實(shí)現(xiàn),看別人的文章總覺得不過癮,所以有了這篇文章,嘗試再扒...

    Amio 評(píng)論0 收藏0
  • OpenJDK9 Hotspot : Thread

    摘要:前言本文從類的方法的內(nèi)部實(shí)現(xiàn)入手,分析多線程相關(guān)的數(shù)據(jù)結(jié)構(gòu)類和原理類方法類的方法用于啟動(dòng)線程,方法內(nèi)部調(diào)用了方法在源代碼中搜索,可以看到對(duì)應(yīng)函數(shù)在源代碼中搜索函數(shù)核心代碼計(jì)算線程堆棧大小創(chuàng)建對(duì)象初始化啟動(dòng)線程在創(chuàng)建時(shí)傳入了一個(gè)函數(shù)指針, 前言 本文從 Java Thread 類的 start 方法的內(nèi)部實(shí)現(xiàn)入手,分析 Hotspot JVM 多線程相關(guān)的數(shù)據(jù)結(jié)構(gòu)(類)和原理 Threa...

    roundstones 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<