本篇內(nèi)容介紹了“怎么在eclipse中配置MySQL源碼環(huán)境”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)建站一直在為企業(yè)提供服務(wù),多年的磨煉,使我們在創(chuàng)意設(shè)計,全網(wǎng)營銷推廣到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗。我們擅長傾聽企業(yè)需求,挖掘用戶對產(chǎn)品需求服務(wù)價值,為企業(yè)制作有用的創(chuàng)意設(shè)計體驗。核心團隊擁有超過十余年以上行業(yè)經(jīng)驗,涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)遂寧聯(lián)通機房、成都app軟件開發(fā)公司、手機移動建站、網(wǎng)頁設(shè)計、網(wǎng)絡(luò)整合營銷。
今天費了些周折,總算搭建好了MySQL源碼的調(diào)試環(huán)境,主要的目的就是想在看代碼的時候有一些頭緒,讓這些開發(fā)技巧派上用場。不至于盲人摸象一般的拿著命令肉眼掃視,當(dāng)然對于代碼至于能不能啃下來,那是另外一回事了。
我來說說我的情況,Java開發(fā)還有一點基礎(chǔ),所以以前的eclipse還算用得比較熟悉。大家知道InnoDB的源碼是c,MySQL Server的是c++,這樣一套環(huán)境想調(diào)試好,如果沒有這方面的平臺開發(fā)經(jīng)驗其實還是有一點難度的。最后我還是決定使用eclipse來做,基于Windows平臺。
里面趟了好幾個坑,讓我苦不堪言。
先要做幾件事情
1)下載MySQL源碼
2)下載開發(fā)IDE eclipse
3) 編譯環(huán)境調(diào)試
4) 配置代碼調(diào)試方式
下載MySQL源碼
MySQL源碼的下載,直接到www.mysql.com上面,選擇社區(qū)版,下載類型是source code,就可以看到下面的選項了。
比如說我選擇的是這個5.6.35的版本。最新的是5.7的,再早一些的是5.5版本的,之前的還真不好找了,得通過其他渠道了。
下載IDE eclipse
eclipse是個開發(fā)通用平臺的IDE,不過這個說法現(xiàn)在受到了IntelliJ IDEA的挑戰(zhàn),目前來看挑戰(zhàn)成功,其中有一部分原因和新版本的一些界面的改進有關(guān),不過相對來說eclipse這個工具Java開發(fā)者用得多一些,有些面試?yán)镞€會問里面的幾個快捷鍵,一問就能問出來i用得怎么樣??赡苡械呐笥丫蜁枺琫clipse是Java開發(fā)用得多一些,那和MySQL源碼環(huán)境有什么關(guān)系。難道在里面用Java編輯器看c++代碼,非也。
因為eclipse還是有c++版的插件的,可以在www.eclipse.org上面下載c++版本專屬的。
坑點1
但是下載之后,啟動eclipse失敗,錯誤是Failed to load the JNI shared library jvm.dll”,這個錯誤的大多數(shù)說法是和JDK的位數(shù)有關(guān),比如32位,64位的兼容性有關(guān),當(dāng)前的環(huán)境是一個JDK6的環(huán)境,看來孩不夠,我再下載個JDK7的試試。官網(wǎng)已經(jīng)直接下載不了了,得通過mos下載。
配置好環(huán)境之后,收到的錯誤變樣了,我感覺被這個錯誤玩弄了。
一個IDE升級那么新版本的JDK干什么,然后又這回來下載JDK8。官網(wǎng)下載的還是安裝版的。我就默默的看著下面的這個霸氣的硬廣,直到安裝成功。其實相對來說,我還是喜歡解壓版的。
eclipse可以啟動了,我創(chuàng)建了一個項目,我命名為mysql_5_6_35
這個時候環(huán)境還是基本空白的,先創(chuàng)建好再說。
簡單確認(rèn)之后,就創(chuàng)建好了一個項目,新版本的exlipse就開始生成了工作目錄。啟動的界面還是不錯的。
編譯環(huán)境調(diào)試
啟動了eclipse,創(chuàng)建了項目,我們可以從指定的目錄下導(dǎo)入源碼包里的代碼。當(dāng)然不出所料,打開代碼之后,發(fā)現(xiàn)后臺開始報出了下面的錯誤。編譯環(huán)境就有有問題。
這個時候如果能配置好還是很有意思的,可以在windows上來安裝一下gcc,g++的環(huán)境,可以參考https://sourceforge.net/projects/mingw/這個網(wǎng)站,下載即可。
這個軟件的風(fēng)格蠻有意思,下載安裝包的時候是下面的安裝進度,需要安裝哪些插件,也基本是這樣的形式。
我們不光要gcc的,還要g++,在安裝好的軟件基礎(chǔ)上需要再下載新的包來安裝。最后會提示安裝成功。
在eclipse里面還是需要做一些基本的配置的。根據(jù)紅色的框圖找到對應(yīng)的菜單,修改右下角的路徑,這個路徑就是我們剛剛安裝的軟件所在的目錄。
比如我安裝在了D盤,就配置成下面紅框的路徑。
這個時候還有一個問題,提示make沒有配置,這個問題可讓我有些摸不著頭腦。gcc都裝了,make檢查了也是安裝成功的,為什么提示配置里沒有呢。這里有一個梗。我們需要把下面的文件改個名字,其實它就是make
配置好環(huán)境,編譯就大體沒有問題了。
配置代碼調(diào)試方式
其實上面的環(huán)境配置也算是一個輔助,如果我們只是看看代碼,其實也能接受,不過下面的這個功能用不了,查看代碼就會困難重重。比如我鼠標(biāo)點擊到代碼里的某一個方法,根據(jù)調(diào)用關(guān)系我能夠很快定位到另一個文件的調(diào)用函數(shù),如此一來查看邏輯就會清楚許多。
但是這個功能在eclipse竟然用不了,熟悉Java開發(fā)的同學(xué)應(yīng)該都熟悉這個outline的功能,一個文件里面有哪些函數(shù),哪些變量都可以一目了然,所以這種情況得改進,發(fā)現(xiàn)無法啟用的原因是我打開的其中一個文件的代碼行數(shù)超過了5000行。默認(rèn)eclipse的配置,超過5000行就啟用不了outline了,我們改一下紅框的配置即可。
配置好之后,重啟eclipse就沒問題了,可以看到右邊的outline信息,求會清晰很多,點擊代碼也會有這種定位功能,這下看代碼就方便多了。比如我們查看InnoDB的代碼,到storage/Innobase/handler/ha_innodb.cc這個文件,這會是我學(xué)習(xí)innodb的一個關(guān)鍵接口文件。
“怎么在eclipse中配置MySQL源碼環(huán)境”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!