nginx源码分析--使用GDB调试

在学习优秀的源代码时是 少不了源码的跟踪与调试,它不仅是我们解决程序bug的有效途径 也是我们理解、学习优秀源码的有效途径。

本文主要介绍一些源码调试的方法,并结合Nginx 源码进行示例。

1, 利用GDB调试

   a,首先你应该熟悉 GDB 调试的一些基本命令(不熟悉的移步 至 用GDB调试程序 ,熟悉step,run,break,list,info,continue等命令)。

   b,  下载nginx 源码,这里使用nginx-1.0.14,解压文件。其中auto文件夹里包含了configure 运行时的各种命令集合,src是源码。为了利用

        GDB调试Nginx,需要在生成Nginx程序时把 -g 编译选项打开。我们需要修改  auto/cc/conf 文件 把 ngx_compile_opt="-c"  加上  -g 选项

         变为 ngx_compile_opt="-c -g", 下一步执行configure命令: sudo ./configure  ,然后运行命令:vim  objs/Makefile  确认一下-g参数是

         否加上了。如下图。

          

         -g  编译选项已打开,然后执行命令: sudo make .(如果之前已经执行过make,那么第二次make时 需要 确保能够重新编译,此时可以通过

            刷新所有源文件时间戳,间接达到重新编译出一个新的Nginx可执行程序,命令为: find . -name "*.c" | xargs touch ), 好了,Nginx编译成功。

   c, 启动 nginx ,在objs目录下执行命令:sudo  ./nginx ,成功运行nginx后执行命令: ps -ef | grep nginx, 查看nginx的master及worker进程的PID,

        如果对nginx 工作进程 2177进行gdb调

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值