[原创]Liunx 下使用 Eclipse 开发 nginx module,进行单步调试

 

 

Liunx使用Eclipse 开发nginx module,进行单步调试

Author: chuantong.huang@gmail.com

Date:2010-10-26

OS:Ubuntu 10.4

 

 

)Nginx最新代码:

wget http://www.nginx.org/download/nginx-0.7.67.tar.gz

tar -xvf nginx-0.7.67.tar.gz

cd nginx-0.7.67

 

)建立模块目录与代码

pwd # 进入Nginx源代码目录,:

/home/toon/workspace/nginx-0.7.67

mkdir ngx_module_echo

vim ngx_module_echo/config

其内容为:

ngx_addon_name=ngx_module_echo
HTTP_MODULES="$HTTP_MODULES ngx_module_echo"
NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_module_echo.c"
CORE_LIBS="$CORE_LIBS "

vim ngx_module_echo/ngx_module_echo.c

其内容:

参考nginxecho模块代码,自己google,或参考以下:

http://www.162cm.com/p/ngx_ext.html

 

3)建立Makefile

利用nginx提供的configrue脚本生成Makefile文件:

./configure --without-http_rewrite_module --without-http-cache --add-module=/home/toon/workspace/nginx-0.7.67/ngx_module_echo/ --with-debug

注意:这里要指定moduel目录(Nginx源码目录下),还要指定debug编译.

BTW:Eclipse 中执行Build project时会执行make clean all,会删除Makefile,故此时应该再执行 configure生成Makefile

可以先make一次,编译出objs/nginx文件。

 

4)Eclipse中建工程

A)选择->新建->Standard Make C++ Project

目录选定为解压出来的源码目录可看到ngx_module_echo目录


 

)修改build选项:

右键工程名—>properties:

主要是把BuildRebuild中的命名删除

 

C)配置运行项参数,打开Run configurations 对话框:

C/C++ Application中选择objs/nginx(如果没有,先make一次)

Argruments中填:-c /home/toon/workspace/nginx-0.7.67/conf/nginx.conf 指定运行时配置文件,下面还要修改此配置文件。


 

 

D)修改上一步指定的nginx.conf文件(以下为非完整文件):


 

 

 

5)就可以在Eclipsedebug你的module了。

curl http://127.0.0.1:8000/echo

然后在Eclipse中对ngx_module_echo/ngx_module_echo.c文件设置断点:

喜欢直接使用gdb的可以使用命令行进行调试,此等高人,也不用看本文了.

gdb --cd=/home/toon/workspace/nginx-0.7.67 --command=.gdbinit -q -nw -tty /dev/pts/4 -i mi1 /home/toon/workspace/nginx-0.7.67/objs/nginx -c /home/toon/workspace/nginx-0.7.67/conf/nginx.conf

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值