在linux平台下调试nginx使用gdb或者cgdb程序进行调试跟踪。
1.在nginx.conf配置文件中添加
daemon off;#关闭守护进程模式。
master_process on;#关闭主进程,只有worker进程工作。
2.在gdb或者cgdb模式下添加
set follow-fork-mode child //可直接调试child进程,无需attach。
set follow-fork-mode parent //可直接调试parent进程,不用受child干扰。
3.bt在gdb或者cgdb模式下可以打印出当前调用的堆栈,可以列出函数的调用顺序。
4.set print pretty on 可以让打印信息更加格式化。
5.在nginx中存在大量的宏函数,这个可以使用macro expand 命令解析其真身
6.watch命令使用步骤:
1.在需要观察的地方使用break添加断点。
2.使用run执行,直到断点处。
3.使用watch设置观察点
4.使用continue观察观察点的变化。