成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Visual Studio 2010下編譯調(diào)試MongoDB源碼

開發(fā) 后端 MongoDB
MongoDB是目前比較火熱的文件存儲數(shù)據(jù)庫,那.NET程序員如何在Visual Studio 2010下編譯調(diào)試MongoDB源碼呢?請看本文。

考慮到MongoDB使用了boost庫源碼,參考MongoDB官方文檔后,下載編譯boost版本是1.42(時間為2010-2-2)或更新版本:

boost版本1.42:

http://sourceforge.net/projects/boost/files/boost/1.42.0/boost_1_42_0.zip/download     

下載boost源碼之后,我把boost解壓在D盤。

1.在D:\boost_1_42_0\下找到該批處理文件bootstrap.bat,以vs2010命令行方式運行它,并最終生成bjam.exe可執(zhí)行文件(詳細結(jié)果及錯誤信息見生成的bjam.log日志)。    

2.將生成的bjam.exe文件拷貝到“D:\boost_1_42_0”目錄下,運行下面命令行:

  1. bjam stage variant=debug  --stagedir="d:\boost_1_42_0" 
  2. --with-filesystem --with-thread --with-date_time --with-program_options 
  3. --layout=versioned threading=multi toolset=msvc-10.0 

如下圖:

注:i.如果要生成release鏈接庫文件,需將上面的variant設(shè)置成release,形如:

 

  1. bjam stage variant=release .....      

ii.如果要全部生成使用下面編譯選項

 

  1. bjam ......  --build-type=complete  

編譯過程可能會用一些時間,最終會在"D:\boost_1_42_0" 生成一個lib目錄,里面包括剛生成的庫文件。

3.下載已用vs2010編譯的SpiderMonkey庫文件及源碼包,并將其解壓到D盤下,下載鏈接:https://github.com/dwight/vc2010_js

將該文件夾名稱改為“js”(因為MongoDB項目會默認指定該路徑尋找可用的lib及c源文件),如下圖:

說明:SpiderMonkey是由C語言操作的JavaScript引擎,它支持JS1.4和ECMAScript-262規(guī)范。該引擎分析、編譯和執(zhí)行腳本,根據(jù)JS數(shù)據(jù)類型和對象的需要進行內(nèi)存分配及釋放操作。目前它是Mozilla項目的一部分??赏ㄟ^下面鏈接了解更多信息:

https://developer.mozilla.org/en/SpiderMonkey

源碼下載鏈接:

https://developer.mozilla.org/En/SpiderMonkey/Getting_SpiderMonkey_source_code

另外如何使用spidermonkey參見:

http://www.ibm.com/developerworks/cn/linux/shell/js/js_engine/

4.接下來下載并解壓mongod源碼包(本人下載的是其最新版本:r1.8.0-rc1),這里我將其也解壓在了D盤:

MongoDB-src-r1.8.0-rc1:

https://github.com/MongoDB/mongo/zipball/r1.8.0-rc1 

之后利用vs2010打開 D:\MongoDB-mongo-4d2aeb6\db目錄下的解決方案文件“db_10.sln”, 加載之后的視圖如下:

在其中的MongoDB項目上,點擊鼠標右鍵,打開"屬性"對話框, 在“配置屬性”-“c++目錄”-"包含目錄"中點“編輯”:

    添加對上面的boost源碼文件路徑的包含:

     

     設(shè)置庫文件目錄選項中添加對剛編譯的boost庫的路徑"D:\boost_1_42_0\lib"聲明,如下圖:    

   

   

在C/C++常規(guī)--“附加包含目錄”,中添加"D:\boost_1_42_0"聲明,如下圖:

5.因為我的機器是32位系統(tǒng),而下載的MongoDB項目設(shè)置為64位,所以要修改一下編譯方式,如下圖:

    

 一切就緒后,開始編譯,時間比較長,耐心等待...    

注:如出現(xiàn)“pch.h文件無法打開”的錯誤信息時,只要在VS2010中的開該文件即可。

6.如果要調(diào)試的話,打開“項目屬性”--“配置屬性”--“調(diào)試”--“命令參數(shù)”,輸入如下參數(shù)  :

 

  1. "--dbpath d:\MongoDB\db" "--port 27017" 
 然后找出db.cpp文件,將斷點放在如下函數(shù)的第一行代碼處:
  int main(int argc, char* argv[])

     如下圖:

需要說明的是,我一開始使用的是VS2008,但MongoDB源碼在最新版本中好像就不再提供vs2008的項目文件了,另外我使用vs2008也一直沒有成功編譯過MongoDB,不是缺文件就是鏈接庫編譯時有問題(google一下,發(fā)現(xiàn)國外同行也被類似問題困擾)。所以大家也就不要再VS2008編譯上浪費時間了。

好了,到這里主要的內(nèi)容介紹完了,大家可以通過調(diào)試來分析觀察MongoDB代碼的執(zhí)行流程了。

參考鏈接:

http://www.cnblogs.com/wondering/archive/2009/05/21/boost_setup.html

http://www.cnblogs.com/xdotnet/archive/2008/03/22/boost_install_config.html

http://www.MongoDB.org/display/DOCS/Building+with+Visual+Studio+2010  

原文鏈接: http://www.cnblogs.com/daizhj/archive/2011/03/07/1973764.html   

【編輯推薦】

 

責任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-04-23 14:05:28

Visual Stud歷史調(diào)試功能

2013-05-29 14:54:49

Visual Stud

2009-12-01 19:28:55

Visual Stud

2011-08-25 09:32:30

Visual Stud

2009-06-04 09:43:42

Visual StudVisual Stud

2009-12-02 09:43:38

Visual Stud

2009-11-10 13:43:37

Visual Stud

2011-03-01 08:47:40

Visual Stud

2009-09-04 09:39:15

Visual Stud

2010-04-01 15:10:06

Visual Stud

2009-10-23 13:52:59

Visual Stud

2010-02-22 16:43:33

Visual Stud

2009-11-11 09:48:06

Visual Stud

2010-03-26 16:23:07

Visual Stud

2010-12-14 09:15:50

Visual Stud

2010-05-13 09:21:44

F#Visual Stud

2011-06-10 09:10:50

2009-11-19 10:55:33

Visual Stud

2011-02-13 17:10:28

Visual Stud

2009-11-13 14:59:12

Visual Stud
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 精品无码久久久久国产 | 国产精品视频一区二区三 | 日韩在线观看 | 视频一区二区在线观看 | 国产免费一区二区 | 美女日批免费视频 | 九九视频在线观看 | 亚洲精品一区二区在线观看 | 伊人伊成久久人综合网站 | 先锋资源网| 北条麻妃国产九九九精品小说 | 亚洲精品成人在线 | 日本超碰 | 欧美一区二区三区四区五区无卡码 | 国产精品美女 | 动漫www.被爆羞羞av44 | 欧美jizzhd精品欧美巨大免费 | 国产精品国产三级国产aⅴ中文 | 91精品国产91综合久久蜜臀 | 亚洲美乳中文字幕 | 亚洲精品2区 | 麻豆久久| 国产精品久久午夜夜伦鲁鲁 | 精品福利一区二区三区 | www.蜜桃av | 久久99精品久久久久久国产越南 | 手机在线观看 | 国产欧美一区二区三区日本久久久 | 精品三级在线观看 | 91久久久久久久久久久 | 日韩一级 | 日韩av第一页 | 国产免费看 | 亚洲大片一区 | 亚洲精品中文字幕在线观看 | 作爱视频免费看 | 黑人巨大精品欧美一区二区免费 | 国产一区二区在线看 | 91精品国产手机 | 日韩黄| 在线三级电影 |