码迷,mamicode.com
首页 > 其他好文 > 详细

nginx第二章--源代码调试输出方法(本人使用方面)

时间:2015-07-29 19:42:49      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:nginx 调试 输出 stdout dup2

    刚开始把nginx安装好后,我就对其源代码产生了浓厚兴趣,试图通过加入printf函数输出自己的调试信息来查看整个nginx的运行流程。最后发现自己加入的printf根本不管用,屏幕上没有任何信息。


    后来发现程序重定向了STDOUT文件符到/dev/null里了,所有看不到任何输出信息。原因找到后,我们只要把重定向函数dup2注释即可(在os/unix/ngx_daemon.c的45行左右)。


    以上注释完成后,你就可以在程序的任何位置加入你自己的调试信息,方便你分析nginx源码。除了改动文件,接下来肯定要重新编译源代码。去到nginx源码根目录下,执行make,makeintall就可以获取最新的nginx可执行文件,运行启动即可看到自己所加的最新调试信息。


    采取以上调试方法简单方便,易于理解。建议在调试源码时最好单进程启动,你可以看下/conf/nginx.conf文件里work_processes值是否为1,为1只是单进程。如果采取多进程启动,打印的日志势必会杂乱,对于理清程序的来龙去脉是不利的。

    最后祝你调试愉快。

nginx第二章--源代码调试输出方法(本人使用方面)

标签:nginx 调试 输出 stdout dup2

原文地址:http://luoshibin.blog.51cto.com/3730223/1679680

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!