windows下采用eclipse與cygwin構建調試nginx插件

    nginx在windows下用vc或者是mingw會存在或多或少的問題,它天然適合在linux下開發使用,但是想在windows進行開發使用的話,最好的方式就是採用cygwin進行linux環境的模擬,開發工具的話,可以選用eclipse CDT進行開發調試。

    1、首先要安裝cygwin(注意看網站,有國內的源的話,下載起來飛快),cygwin對於編譯nginx來說的話,只需要在install界面選擇安裝zlib、gcc、gdb、openssl、pcre等幾個軟件包就可以了,具體的安裝可以網上自行找資料解決。

   2、 接下來,下載nginx源碼,解壓到某個目錄,直接用cygwin的shell進入源碼進行./configure,這個用來檢測是否缺少了依賴,如果沒有輸出錯誤的標示,則證明cygwin已經安裝成功。

    3、下載完eclipse,解壓直接使用設定好workspace(工作目錄)。此時,將nginx源碼解壓到workspace中,然後用cygwin的shell執行./configure --prefix=G:/workspace/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6   --with-debug 。在obj目錄生成好makefile之後,導入eclipse即可。

   

    4、導入eclipse的過程比較簡單,新建C project-》makefile project -》empty project-》cygwin gcc -》location選中nginx的源碼,然後確認即可。

    

    5、build的之前,先在project-》C/C++ build-》 behavior中把Build中關於All的給刪掉


  6、在window-》 preferences 中的New C/C++ Project-》makefile project中勾上 cygwin PE parse和PE window parse 


7、然後在Debug configurations中的Argument增加啓動參數-c  conf/nginx.conf(如果在debug configuration是中找不到啓動項,可以點擊配置頁面project search)




8、最後在cygwin中,因爲路徑和windows的是不同的,而eclipse windows版本用的是windows的版本,所以要在eclipse中將cygwin的路徑映射成windows路徑,比如我的源碼是放在G盤,則將/cygdrive/g/ 映射成g:/


9、這樣在debug的過程中,eclipse纔可以定位到代碼,接下來就可以build項目了。

build完項目,修改配置文件(nginx.conf)文件,

在全局中增加

daemon off;
master_process off;
關閉守護進程運行,直接在前臺運行,並且單進程,開發調試需要。

events {
    worker_connections  24;
}

把端口改成8080;

10、接下來,按run,直接看啓動有沒有錯誤(訪問http://localhost:8080),如果沒有錯誤,則可以關閉,點擊debug開始nginx源碼調試之旅。



接下來集成模塊進行調試,在nginx源碼目錄內,新建module_src目錄,將echo模塊的源碼解壓在裏面(在nginx源碼內,eclipse纔可以掃描定位源碼文件),然後重新configure 

 ./configure --prefix=G:/workspace/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6  --add-module=module_src/echo-nginx-module --with-debug
在裏面打斷點,在配置文件聲明使用這個模塊,重新build,debug即可。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章