<code>阅读源码的最好方式就是跟踪调试代码,这里介绍了如何利用GDB调试nginx的配置和步骤。 </code>
修改配置文件
<code>修改nginx.conf: </code>
<code><span>#user nobody;</span> master_process <span>off</span>; daemon <span>off</span>;</code>
daemon off;表示关闭守护进程模式,这样就免除了用GDB跟踪fork出的子进程了。如果默认启用守护进程,标准输出是被关闭的。因此关闭守护进程模式能够利用printf方便查看变量的值。
master_process off;表示用master进程自身来处理请求。
调试代码
<code>调试nginx和调试简单的单文件程序基本相同,只是在设置断点时有点差别。 在函数func_name处设置断点:`break func_name`,函数可以用<tab>键补全。 在file_name.c文件的第line行设置断点:`break file_name.c:line` 然后把代码跑起来就OK了,最常用的命令是backtrace,简写成bt。够简单吧,之后nginx的运行就都在你的掌控之中。 </tab></code>
以上就介绍了用GDB调试nginx,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。