• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

<深入剖析Nginx> nginx的跟踪与调试

php 搞代码 3年前 (2022-01-23) 19次浏览 已收录 0个评论

通过调试,可以方便地定位问题,解决bug.

本文主要总结书里提到的内容,具体细节,会慢慢更新,因为细节是在慢慢阅读中经历的.

跟踪与调试,主要分了6个部分:

1. 利用GDB调试:

具体调试方法可以参考: Nginx学习之十四-GDB调试Nginx初试 ,以及的作者的博客:点击打开链接

其实,通过上一节的方法,可以很方便的通过eclipse来调试代码,当然gdb通过命令行更加的灵活.

带参数,进入gdb调试:

gdb --args ./nginx -c /home/zy/code/web/nginx-1.6.2/conf/nginx.conf

进去之后,就是打断点/单步调试/设置观察点等具体调试技术了.

2. 利用日志信息跟踪Nginx:

我们知道printf是小型程序的打印功能函数,但是当程序大型之后,printf就不那么灵活了. 因此大型的系统都会提供不同级别的输出控制. 比如linux内核/NS3网络仿真工具等等.在配置文件中设定日志信息的目录和级别.然后在程序里调用ngx_log_~来1源gaodai#ma#com搞*代#码1网搞代gaodaima码xxx()系列函数就可以了.

3. 利用strace/pstack调试程序:

通过这两个命令可以查看应用程序在运行过程中所发起的系统函数调用和动态库函数调用. 然后,pstack本身也就是一个利用gdb实现的shell脚本.

4.加桩调试:

一个单元测试的概念,比如我们写某个算法实现了一个函数,为了验证它的正确性,就需要在main函数里构造输出并打印输出这些,这些额外的测试代码就是加桩测试.并且eclipse中也可以进行加桩测试:点击打开链接

5. 特殊应用程序测试:

自己写socket通信的客户端去测试某些只有在特定情况下才会执行到的代码

以上就介绍了 nginx的跟踪与调试,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:<深入剖析Nginx> nginx的跟踪与调试

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址