首先配置nginx安装程序
找到 nginx/auto/cc/conf 文件,用vim或者什么打开,到第八行
找到:ngx_compile_opt="-c"
更改为: ngx_compile_opt="-c -g"
然后进行编译安装
./configure --user=www --group=www --prefix=/nginx --add-module=../ngx_cache_purge-1.2 --with-pcre
--with-http_sub_module --with-http_stub_status_module --with-http_ssl_module
这里的user和group 还有prefix是自己定义的
make 后确认一下,调试模式是否已经配置ok
查看 vim objs/Makefile 文件大概332行 发现
330 objs/ngx_modules.o: $(CORE_DEPS)
331 objs/ngx_modules.c
332 $(CC) -c -g $(CFLAGS) $(CORE_INCS)
333 -o objs/ngx_modules.o
已经有 $(CC) -c -g "-g" 的配置,这说明配置成功了。
makeinstall
安装完毕后,我们看nginx的配置文件/nginx/conf/nginx.conf
看这个 daemon off; 配置,如果前面有# ,则使用下面的多线程配置
worker_processes 2;
worker_cpu_affinity 01 10;
如果没有#则是单进程模式运行。
我们用gdb调试,可以说有三种方式
在单线程模式下
1.运行 gdb /nginx/sbin/nginx ,进入后 输入 r (也就是run) 进入了gdb调试模式
2.或者./nginx/sbin/nginx 然后查询 对应的进程号 gdb p 进程号
在多线程下
3. ./nginx/sbin/nginx 查询对应的所有的进程号 并进行多个窗口打开,每个窗口独立gdb p 进程号
进入调试模式后,可以设置断点,继续监听等
这就是gdb调试nginx的简单操作
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。