nginx调试


配置

        一般来说,默认./configure 生成的makefile文件都将带上-g选项,这对于利用gdb调试nginx是非常必要的,但如果在使用gdb调试nginx时提示“No symbol table is loaded. Use the "file" command.”,则需检查objs/Makefile文件里的CFLAGS标记是否带上了-g选项;另一个值得关注的编译选项是-O0,如果在gdb内打印变量提示“<value optimized out>”,则是因为gcc优化导致,我们可以加上-O0选项禁止gcc的编译优化。如何把“-g -O0”应用在nginx上可以有三种方法:

  1. 在进行configure配置时,按如下方式执行:[root@localhost nginx-1.2.0]# CFLAGS="-g -O0" ./configure(已经验证)
  2. 直接修改文件objs/Makefile给其加上“-g -O0”
  3. 在执行make时,按如下方式执行:[root@localhost nginx-1.2.0]# make CFLAGS="-g -O0"

第2、3两种方法是在我们已经执行configure之后进行的,如果之前已经执行过make,那么还需刷新所有源文件的时间戳,以便重新编译nginx:

[root@localhost nginx-1.2.0]# find . -name "*.c" | xargs touch


编译

       nginx的编译步骤如下:

  1. CFLAGS="-g -O0" ./configure --prefix=/styx/home/dk/nginx --with-pcre=/styx/home/dk/pcre-8.3.3(这里是pcre源代码所在目录)
  2. make
  3. make install
完成了上述主要步骤,就可以使用gdb调试nginx了,祝你玩的愉快。

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值