GDB调试nginx运行流程举例分析

这篇文章主要讲解了“GDB调试nginx运行流程举例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“GDB调试nginx运行流程举例分析”吧!

简介

在nginx源代码中有大量的任务被加到红黑树中,或者通过注册回调函数来实现,通过阅读源码很难发现和跟踪执行流程。但是通过调试nginx代码可以很清晰的跟踪nginx执行的流程,可以很直观的发现一次http请求响应完整处理生命周期。

nginx modules顺序调试:
1: m = 16
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x4af79a <ngx_http_try_files_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4af761 <ngx_http_try_files_create_loc_conf>, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a500
1: m = 16
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0195 <ngx_http_auth_basic_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b00de <ngx_http_auth_basic_create_loc_conf>, merge_loc_conf = 0x4b0117 <ngx_http_auth_basic_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a6e0
1: m = 16
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0195 <ngx_http_auth_basic_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b00de <ngx_http_auth_basic_create_loc_conf>, merge_loc_conf = 0x4b0117 <ngx_http_auth_basic_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a6e0
1: m = 16
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0195 <ngx_http_auth_basic_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b00de <ngx_http_auth_basic_create_loc_conf>, merge_loc_conf = 0x4b0117 <ngx_http_auth_basic_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a6e0
1: m = 16
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0195 <ngx_http_auth_basic_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b00de <ngx_http_auth_basic_create_loc_conf>, merge_loc_conf = 0x4b0117 <ngx_http_auth_basic_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a6e0
1: m = 17
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0195 <ngx_http_auth_basic_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b00de <ngx_http_auth_basic_create_loc_conf>, merge_loc_conf = 0x4b0117 <ngx_http_auth_basic_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a6e0
1: m = 17
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0ae8 <ngx_http_access_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b0a34 <ngx_http_access_create_loc_conf>, merge_loc_conf = 0x4b0a6d <ngx_http_access_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a8c0
1: m = 17
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0ae8 <ngx_http_access_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b0a34 <ngx_http_access_create_loc_conf>, merge_loc_conf = 0x4b0a6d <ngx_http_access_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a8c0
1: m = 17
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0ae8 <ngx_http_access_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b0a34 <ngx_http_access_create_loc_conf>, merge_loc_conf = 0x4b0a6d <ngx_http_access_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a8c0
1: m = 17
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0ae8 <ngx_http_access_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b0a34 <ngx_http_access_create_loc_conf>, merge_loc_conf = 0x4b0a6d <ngx_http_access_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a8c0
1: m = 18
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x4b0ae8 <ngx_http_access_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b0a34 <ngx_http_access_create_loc_conf>, merge_loc_conf = 0x4b0a6d <ngx_http_access_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71a8c0
1: m = 18
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b1c47 <ngx_http_limit_conn_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b15a2 <ngx_http_limit_conn_create_conf>, merge_loc_conf = 0x4b15f3 <ngx_http_limit_conn_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71aba0
1: m = 18
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b1c47 <ngx_http_limit_conn_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b15a2 <ngx_http_limit_conn_create_conf>, merge_loc_conf = 0x4b15f3 <ngx_http_limit_conn_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71aba0
1: m = 18
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b1c47 <ngx_http_limit_conn_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b15a2 <ngx_http_limit_conn_create_conf>, merge_loc_conf = 0x4b15f3 <ngx_http_limit_conn_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71aba0
1: m = 18
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b1c47 <ngx_http_limit_conn_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b15a2 <ngx_http_limit_conn_create_conf>, merge_loc_conf = 0x4b15f3 <ngx_http_limit_conn_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71aba0
1: m = 19
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x4b1c47 <ngx_http_limit_conn_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b15a2 <ngx_http_limit_conn_create_conf>, merge_loc_conf = 0x4b15f3 <ngx_http_limit_conn_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71aba0
1: m = 19
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b39fc <ngx_http_limit_req_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b305c <ngx_http_limit_req_create_conf>, merge_loc_conf = 0x4b30ad <ngx_http_limit_req_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71ae80
1: m = 19
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b39fc <ngx_http_limit_req_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b305c <ngx_http_limit_req_create_conf>, merge_loc_conf = 0x4b30ad <ngx_http_limit_req_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71ae80
1: m = 19
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b39fc <ngx_http_limit_req_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b305c <ngx_http_limit_req_create_conf>, merge_loc_conf = 0x4b30ad <ngx_http_limit_req_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71ae80
1: m = 19
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4b39fc <ngx_http_limit_req_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b305c <ngx_http_limit_req_create_conf>, merge_loc_conf = 0x4b30ad <ngx_http_limit_req_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71ae80
1: m = 20
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x4b39fc <ngx_http_limit_req_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4b305c <ngx_http_limit_req_create_conf>, merge_loc_conf = 0x4b30ad <ngx_http_limit_req_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71ae80
1: m = 20
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0x4b45e0 <ngx_http_realip_add_variables>, postconfiguration = 0x4b465d <ngx_http_realip_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4b44b3 <ngx_http_realip_create_loc_conf>, merge_loc_conf = 0x4b4504 <ngx_http_realip_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71b080
1: m = 20
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0x4b45e0 <ngx_http_realip_add_variables>, postconfiguration = 0x4b465d <ngx_http_realip_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4b44b3 <ngx_http_realip_create_loc_conf>, merge_loc_conf = 0x4b4504 <ngx_http_realip_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71b080
1: m = 20
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0x4b45e0 <ngx_http_realip_add_variables>, postconfiguration = 0x4b465d <ngx_http_realip_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4b44b3 <ngx_http_realip_create_loc_conf>, merge_loc_conf = 0x4b4504 <ngx_http_realip_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71b080
1: m = 20
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0x4b45e0 <ngx_http_realip_add_variables>, postconfiguration = 0x4b465d <ngx_http_realip_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4b44b3 <ngx_http_realip_create_loc_conf>, merge_loc_conf = 0x4b4504 <ngx_http_realip_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71b080
1: m = 21
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0x4b45e0 <ngx_http_realip_add_variables>, postconfiguration = 0x4b465d <ngx_http_realip_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4b44b3 <ngx_http_realip_create_loc_conf>, merge_loc_conf = 0x4b4504 <ngx_http_realip_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71b080
1: m = 21
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736ea0
1: m = 21
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736ea0
1: m = 21
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736ea0
1: m = 22
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736ea0
1: m = 22
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0x4b870e <ngx_http_geoip_add_variables>, postconfiguration = 0, create_main_conf = 0x4b878b <ngx_http_geoip_create_conf>, 
  init_main_conf = 0x4b880e <ngx_http_geoip_init_conf>, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71b560
1: m = 22
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0x4b870e <ngx_http_geoip_add_variables>, postconfiguration = 0, create_main_conf = 0x4b878b <ngx_http_geoip_create_conf>, 
  init_main_conf = 0x4b880e <ngx_http_geoip_init_conf>, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71b560
1: m = 22
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0x4b870e <ngx_http_geoip_add_variables>, postconfiguration = 0, create_main_conf = 0x4b878b <ngx_http_geoip_create_conf>, 
  init_main_conf = 0x4b880e <ngx_http_geoip_init_conf>, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71b560
1: m = 23
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0x4b870e <ngx_http_geoip_add_variables>, postconfiguration = 0, create_main_conf = 0x4b878b <ngx_http_geoip_create_conf>, 
  init_main_conf = 0x4b880e <ngx_http_geoip_init_conf>, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71b560
1: m = 23
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4b9181 <ngx_http_map_create_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71bb20
1: m = 23
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4b9181 <ngx_http_map_create_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71bb20
1: m = 23
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4b9181 <ngx_http_map_create_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71bb20
1: m = 24
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4b9181 <ngx_http_map_create_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71bb20
1: m = 24
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f00
1: m = 24
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f00
1: m = 24
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f00
1: m = 25
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f00
1: m = 25
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0x4bace0 <ngx_http_referer_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4bad29 <ngx_http_referer_create_conf>, merge_loc_conf = 0x4badaa <ngx_http_referer_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71be80
1: m = 25
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0x4bace0 <ngx_http_referer_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4bad29 <ngx_http_referer_create_conf>, merge_loc_conf = 0x4badaa <ngx_http_referer_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71be80
1: m = 25
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0x4bace0 <ngx_http_referer_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4bad29 <ngx_http_referer_create_conf>, merge_loc_conf = 0x4badaa <ngx_http_referer_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71be80
1: m = 26
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0x4bace0 <ngx_http_referer_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4bad29 <ngx_http_referer_create_conf>, merge_loc_conf = 0x4badaa <ngx_http_referer_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71be80
1: m = 26
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4bbf3e <ngx_http_rewrite_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4bbdbd <ngx_http_rewrite_create_loc_conf>, merge_loc_conf = 0x4bbe1a <ngx_http_rewrite_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c160
1: m = 26
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4bbf3e <ngx_http_rewrite_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4bbdbd <ngx_http_rewrite_create_loc_conf>, merge_loc_conf = 0x4bbe1a <ngx_http_rewrite_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c160
1: m = 26
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4bbf3e <ngx_http_rewrite_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4bbdbd <ngx_http_rewrite_create_loc_conf>, merge_loc_conf = 0x4bbe1a <ngx_http_rewrite_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c160
1: m = 26
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4bbf3e <ngx_http_rewrite_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4bbdbd <ngx_http_rewrite_create_loc_conf>, merge_loc_conf = 0x4bbe1a <ngx_http_rewrite_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c160
1: m = 27
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x4bbf3e <ngx_http_rewrite_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4bbdbd <ngx_http_rewrite_create_loc_conf>, merge_loc_conf = 0x4bbe1a <ngx_http_rewrite_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c160
1: m = 27
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0x4bdd53 <ngx_http_ssl_add_variables>, postconfiguration = 0x4bf0b8 <ngx_http_ssl_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4bddd0 <ngx_http_ssl_create_srv_conf>, merge_srv_conf = 0x4bdec2 <ngx_http_ssl_merge_srv_conf>, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c900
1: m = 27
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0x4bdd53 <ngx_http_ssl_add_variables>, postconfiguration = 0x4bf0b8 <ngx_http_ssl_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4bddd0 <ngx_http_ssl_create_srv_conf>, merge_srv_conf = 0x4bdec2 <ngx_http_ssl_merge_srv_conf>, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c900
1: m = 27
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0x4bdd53 <ngx_http_ssl_add_variables>, postconfiguration = 0x4bf0b8 <ngx_http_ssl_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4bddd0 <ngx_http_ssl_create_srv_conf>, merge_srv_conf = 0x4bdec2 <ngx_http_ssl_merge_srv_conf>, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c900
1: m = 27
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0x4bdd53 <ngx_http_ssl_add_variables>, postconfiguration = 0x4bf0b8 <ngx_http_ssl_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4bddd0 <ngx_http_ssl_create_srv_conf>, merge_srv_conf = 0x4bdec2 <ngx_http_ssl_merge_srv_conf>, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c900
1: m = 28
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0x4bdd53 <ngx_http_ssl_add_variables>, postconfiguration = 0x4bf0b8 <ngx_http_ssl_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4bddd0 <ngx_http_ssl_create_srv_conf>, merge_srv_conf = 0x4bdec2 <ngx_http_ssl_merge_srv_conf>, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71c900
1: m = 28
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0x4c3984 <ngx_http_proxy_add_variables>, postconfiguration = 0, create_main_conf = 0x4c3a01 <ngx_http_proxy_create_main_conf>, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4c3a6d <ngx_http_proxy_create_loc_conf>, merge_loc_conf = 0x4c3d98 <ngx_http_proxy_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71e0e0
1: m = 28
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0x4c3984 <ngx_http_proxy_add_variables>, postconfiguration = 0, create_main_conf = 0x4c3a01 <ngx_http_proxy_create_main_conf>, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4c3a6d <ngx_http_proxy_create_loc_conf>, merge_loc_conf = 0x4c3d98 <ngx_http_proxy_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71e0e0
1: m = 28
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0x4c3984 <ngx_http_proxy_add_variables>, postconfiguration = 0, create_main_conf = 0x4c3a01 <ngx_http_proxy_create_main_conf>, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4c3a6d <ngx_http_proxy_create_loc_conf>, merge_loc_conf = 0x4c3d98 <ngx_http_proxy_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71e0e0
1: m = 29
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0x4c3984 <ngx_http_proxy_add_variables>, postconfiguration = 0, create_main_conf = 0x4c3a01 <ngx_http_proxy_create_main_conf>, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4c3a6d <ngx_http_proxy_create_loc_conf>, merge_loc_conf = 0x4c3d98 <ngx_http_proxy_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71e0e0
1: m = 29
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0x4cbee2 <ngx_http_fastcgi_add_variables>, postconfiguration = 0, create_main_conf = 0x4cbf5f <ngx_http_fastcgi_create_main_conf>, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4cbfcb <ngx_http_fastcgi_create_loc_conf>, merge_loc_conf = 0x4cc251 <ngx_http_fastcgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71f360
1: m = 29
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0x4cbee2 <ngx_http_fastcgi_add_variables>, postconfiguration = 0, create_main_conf = 0x4cbf5f <ngx_http_fastcgi_create_main_conf>, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4cbfcb <ngx_http_fastcgi_create_loc_conf>, merge_loc_conf = 0x4cc251 <ngx_http_fastcgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71f360
1: m = 29
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0x4cbee2 <ngx_http_fastcgi_add_variables>, postconfiguration = 0, create_main_conf = 0x4cbf5f <ngx_http_fastcgi_create_main_conf>, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4cbfcb <ngx_http_fastcgi_create_loc_conf>, merge_loc_conf = 0x4cc251 <ngx_http_fastcgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71f360
1: m = 30
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0x4cbee2 <ngx_http_fastcgi_add_variables>, postconfiguration = 0, create_main_conf = 0x4cbf5f <ngx_http_fastcgi_create_main_conf>, init_main_conf = 0, 
  create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0x4cbfcb <ngx_http_fastcgi_create_loc_conf>, merge_loc_conf = 0x4cc251 <ngx_http_fastcgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x71f360
1: m = 30
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4d04bc <ngx_http_uwsgi_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d0528 <ngx_http_uwsgi_create_loc_conf>, merge_loc_conf = 0x4d07f9 <ngx_http_uwsgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x720600
1: m = 30
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4d04bc <ngx_http_uwsgi_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d0528 <ngx_http_uwsgi_create_loc_conf>, merge_loc_conf = 0x4d07f9 <ngx_http_uwsgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x720600
1: m = 30
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4d04bc <ngx_http_uwsgi_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d0528 <ngx_http_uwsgi_create_loc_conf>, merge_loc_conf = 0x4d07f9 <ngx_http_uwsgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x720600
1: m = 31
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4d04bc <ngx_http_uwsgi_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d0528 <ngx_http_uwsgi_create_loc_conf>, merge_loc_conf = 0x4d07f9 <ngx_http_uwsgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x720600
1: m = 31
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4d49ff <ngx_http_scgi_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d4a6b <ngx_http_scgi_create_loc_conf>, merge_loc_conf = 0x4d4cd3 <ngx_http_scgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721360
1: m = 31
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4d49ff <ngx_http_scgi_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d4a6b <ngx_http_scgi_create_loc_conf>, merge_loc_conf = 0x4d4cd3 <ngx_http_scgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721360
1: m = 31
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4d49ff <ngx_http_scgi_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d4a6b <ngx_http_scgi_create_loc_conf>, merge_loc_conf = 0x4d4cd3 <ngx_http_scgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721360
1: m = 32
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4d49ff <ngx_http_scgi_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d4a6b <ngx_http_scgi_create_loc_conf>, merge_loc_conf = 0x4d4cd3 <ngx_http_scgi_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721360
1: m = 32
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d7a8f <ngx_http_memcached_create_loc_conf>, merge_loc_conf = 0x4d7bfc <ngx_http_memcached_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721860
1: m = 32
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d7a8f <ngx_http_memcached_create_loc_conf>, merge_loc_conf = 0x4d7bfc <ngx_http_memcached_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721860
1: m = 32
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d7a8f <ngx_http_memcached_create_loc_conf>, merge_loc_conf = 0x4d7bfc <ngx_http_memcached_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721860
1: m = 33
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d7a8f <ngx_http_memcached_create_loc_conf>, merge_loc_conf = 0x4d7bfc <ngx_http_memcached_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721860
1: m = 33
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f40
1: m = 33
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f40
1: m = 33
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f40
1: m = 34
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f40
1: m = 34
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0x4d8572 <ngx_http_browser_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d85ef <ngx_http_browser_create_conf>, merge_loc_conf = 0x4d8628 <ngx_http_browser_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721c60
1: m = 34
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0x4d8572 <ngx_http_browser_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d85ef <ngx_http_browser_create_conf>, merge_loc_conf = 0x4d8628 <ngx_http_browser_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721c60
1: m = 34
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0x4d8572 <ngx_http_browser_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d85ef <ngx_http_browser_create_conf>, merge_loc_conf = 0x4d8628 <ngx_http_browser_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721c60
1: m = 35
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0x4d8572 <ngx_http_browser_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4d85ef <ngx_http_browser_create_conf>, merge_loc_conf = 0x4d8628 <ngx_http_browser_merge_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x721c60
1: m = 35
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0x4da032 <ngx_http_upstream_hash_create_conf>, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722000
1: m = 35
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0x4da032 <ngx_http_upstream_hash_create_conf>, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722000
1: m = 35
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0x4da032 <ngx_http_upstream_hash_create_conf>, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722000
1: m = 36
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0x4da032 <ngx_http_upstream_hash_create_conf>, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722000
1: m = 36
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f80
1: m = 36
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f80
1: m = 36
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f80
1: m = 37
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736f80
1: m = 37
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0x4daa87 <ngx_http_reqstat_add_variable>, postconfiguration = 0x4dab41 <ngx_http_reqstat_init>, 
  create_main_conf = 0x4da8ce <ngx_http_reqstat_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4da8f1 <ngx_http_reqstat_create_loc_conf>, merge_loc_conf = 0x4da965 <ngx_http_reqstat_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722880
1: m = 37
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0x4daa87 <ngx_http_reqstat_add_variable>, postconfiguration = 0x4dab41 <ngx_http_reqstat_init>, 
  create_main_conf = 0x4da8ce <ngx_http_reqstat_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4da8f1 <ngx_http_reqstat_create_loc_conf>, merge_loc_conf = 0x4da965 <ngx_http_reqstat_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722880
1: m = 37
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0x4daa87 <ngx_http_reqstat_add_variable>, postconfiguration = 0x4dab41 <ngx_http_reqstat_init>, 
  create_main_conf = 0x4da8ce <ngx_http_reqstat_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4da8f1 <ngx_http_reqstat_create_loc_conf>, merge_loc_conf = 0x4da965 <ngx_http_reqstat_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722880
1: m = 37
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0x4daa87 <ngx_http_reqstat_add_variable>, postconfiguration = 0x4dab41 <ngx_http_reqstat_init>, 
  create_main_conf = 0x4da8ce <ngx_http_reqstat_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4da8f1 <ngx_http_reqstat_create_loc_conf>, merge_loc_conf = 0x4da965 <ngx_http_reqstat_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722880
1: m = 38
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0x4daa87 <ngx_http_reqstat_add_variable>, postconfiguration = 0x4dab41 <ngx_http_reqstat_init>, 
  create_main_conf = 0x4da8ce <ngx_http_reqstat_create_main_conf>, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0x4da8f1 <ngx_http_reqstat_create_loc_conf>, merge_loc_conf = 0x4da965 <ngx_http_reqstat_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722880
1: m = 38
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736fe0
1: m = 38
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736fe0
1: m = 38
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736fe0
1: m = 39
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x736fe0
1: m = 39
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0x4defa8 <ngx_http_upstream_keepalive_create_conf>, 
  merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722b80
1: m = 39
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0x4defa8 <ngx_http_upstream_keepalive_create_conf>, 
  merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722b80
1: m = 39
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0x4defa8 <ngx_http_upstream_keepalive_create_conf>, 
  merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722b80
1: m = 40
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0x4defa8 <ngx_http_upstream_keepalive_create_conf>, 
  merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722b80
1: m = 40
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x737020
1: m = 40
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x737020
1: m = 40
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x737020
1: m = 41
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x737020
1: m = 41
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0x4dfcf9 <ngx_http_stub_status_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722e80
1: m = 41
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0x4dfcf9 <ngx_http_stub_status_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722e80
1: m = 41
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0x4dfcf9 <ngx_http_stub_status_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722e80
1: m = 42
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0x4dfcf9 <ngx_http_stub_status_add_variables>, postconfiguration = 0, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x722e80
1: m = 42
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4e619d <ngx_http_upstream_check_create_main_conf>, 
  init_main_conf = 0x4e66ce <ngx_http_upstream_check_init_main_conf>, create_srv_conf = 0x4e67d9 <ngx_http_upstream_check_create_srv_conf>, merge_srv_conf = 0, 
  create_loc_conf = 0x4e689e <ngx_http_upstream_check_create_loc_conf>, merge_loc_conf = 0x4e6b53 <ngx_http_upstream_check_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x723360
1: m = 42
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4e619d <ngx_http_upstream_check_create_main_conf>, 
  init_main_conf = 0x4e66ce <ngx_http_upstream_check_init_main_conf>, create_srv_conf = 0x4e67d9 <ngx_http_upstream_check_create_srv_conf>, merge_srv_conf = 0, 
  create_loc_conf = 0x4e689e <ngx_http_upstream_check_create_loc_conf>, merge_loc_conf = 0x4e6b53 <ngx_http_upstream_check_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x723360
1: m = 42
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4e619d <ngx_http_upstream_check_create_main_conf>, 
  init_main_conf = 0x4e66ce <ngx_http_upstream_check_init_main_conf>, create_srv_conf = 0x4e67d9 <ngx_http_upstream_check_create_srv_conf>, merge_srv_conf = 0, 
  create_loc_conf = 0x4e689e <ngx_http_upstream_check_create_loc_conf>, merge_loc_conf = 0x4e6b53 <ngx_http_upstream_check_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x723360
1: m = 43
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0, create_main_conf = 0x4e619d <ngx_http_upstream_check_create_main_conf>, 
  init_main_conf = 0x4e66ce <ngx_http_upstream_check_init_main_conf>, create_srv_conf = 0x4e67d9 <ngx_http_upstream_check_create_srv_conf>, merge_srv_conf = 0, 
  create_loc_conf = 0x4e689e <ngx_http_upstream_check_create_loc_conf>, merge_loc_conf = 0x4e6b53 <ngx_http_upstream_check_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x723360
1: m = 43
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4e9723 <ngx_http_session_sticky_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4e960f <ngx_http_upstream_session_sticky_create_srv_conf>, merge_srv_conf = 0, create_loc_conf = 0x4e969d <ngx_http_session_sticky_create_loc_conf>, 
  merge_loc_conf = 0x4e96e1 <ngx_http_session_sticky_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x723b00
1: m = 43
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4e9723 <ngx_http_session_sticky_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4e960f <ngx_http_upstream_session_sticky_create_srv_conf>, merge_srv_conf = 0, create_loc_conf = 0x4e969d <ngx_http_session_sticky_create_loc_conf>, 
  merge_loc_conf = 0x4e96e1 <ngx_http_session_sticky_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0
2: module = (ngx_http_module_t *) 0x723b00
1: m = 43
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4e9723 <ngx_http_session_sticky_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4e960f <ngx_http_upstream_session_sticky_create_srv_conf>, merge_srv_conf = 0, create_loc_conf = 0x4e969d <ngx_http_session_sticky_create_loc_conf>, 
  merge_loc_conf = 0x4e96e1 <ngx_http_session_sticky_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x723b00
1: m = 43
(gdb) n

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0x4e9723 <ngx_http_session_sticky_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4e960f <ngx_http_upstream_session_sticky_create_srv_conf>, merge_srv_conf = 0, create_loc_conf = 0x4e969d <ngx_http_session_sticky_create_loc_conf>, 
  merge_loc_conf = 0x4e96e1 <ngx_http_session_sticky_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x723b00
1: m = 44
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x4e9723 <ngx_http_session_sticky_init>, create_main_conf = 0, init_main_conf = 0, 
  create_srv_conf = 0x4e960f <ngx_http_upstream_session_sticky_create_srv_conf>, merge_srv_conf = 0, create_loc_conf = 0x4e969d <ngx_http_session_sticky_create_loc_conf>, 
  merge_loc_conf = 0x4e96e1 <ngx_http_session_sticky_merge_loc_conf>}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x723b00
1: m = 44
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49c1f2 <ngx_http_write_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x718040
1: m = 44
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49c1f2 <ngx_http_write_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x718040
1: m = 44
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49c1f2 <ngx_http_write_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x718040
1: m = 44
(gdb) 

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49c1f2 <ngx_http_write_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x718040
1: m = 45
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x49c1f2 <ngx_http_write_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x718040
1: m = 45
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49d62c <ngx_http_header_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x718160
1: m = 45
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49d62c <ngx_http_header_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x4e8703 <ngx_http_session_sticky_header_filter>
2: module = (ngx_http_module_t *) 0x718160
1: m = 45
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49d62c <ngx_http_header_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49c20c <ngx_http_header_filter>
2: module = (ngx_http_module_t *) 0x718160
1: m = 45
(gdb) n

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49d62c <ngx_http_header_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49c20c <ngx_http_header_filter>
2: module = (ngx_http_module_t *) 0x718160
1: m = 46
(gdb) n
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x49d62c <ngx_http_header_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49c20c <ngx_http_header_filter>
2: module = (ngx_http_module_t *) 0x718160
1: m = 46
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49e0c3 <ngx_http_chunked_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49c20c <ngx_http_header_filter>
2: module = (ngx_http_module_t *) 0x718760
1: m = 46
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49e0c3 <ngx_http_chunked_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49c20c <ngx_http_header_filter>
2: module = (ngx_http_module_t *) 0x718760
1: m = 46
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49e0c3 <ngx_http_chunked_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49d648 <ngx_http_chunked_header_filter>
2: module = (ngx_http_module_t *) 0x718760
1: m = 46
(gdb) n

Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305
305	        if (cf->cycle->modules[m]->type != NGX_HTTP_MODULE) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49e0c3 <ngx_http_chunked_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49d648 <ngx_http_chunked_header_filter>
2: module = (ngx_http_module_t *) 0x718760
1: m = 47
(gdb) 
309	        module = cf->cycle->modules[m]->ctx;
4: *module = {preconfiguration = 0, postconfiguration = 0x49e0c3 <ngx_http_chunked_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49d648 <ngx_http_chunked_header_filter>
2: module = (ngx_http_module_t *) 0x718760
1: m = 47
(gdb) 
311	        if (module->postconfiguration) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49fd10 <ngx_http_range_header_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49d648 <ngx_http_chunked_header_filter>
2: module = (ngx_http_module_t *) 0x718880
1: m = 47
(gdb) 
315	            if (module->postconfiguration(cf) != NGX_OK) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49fd10 <ngx_http_range_header_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49d648 <ngx_http_chunked_header_filter>
2: module = (ngx_http_module_t *) 0x718880
1: m = 47
(gdb) 
304	    for (m = 0; cf->cycle->modules[m]; m++) {
4: *module = {preconfiguration = 0, postconfiguration = 0x49fd10 <ngx_http_range_header_filter_init>, create_main_conf = 0, init_main_conf = 0, create_srv_conf = 0, merge_srv_conf = 0, 
  create_loc_conf = 0, merge_loc_conf = 0}
3: ngx_http_top_header_filter = (ngx_http_output_header_filter_pt) 0x49e18a <ngx_http_range_header_filter>
2: module = (ngx_http_module_t *) 0x718880
1: m = 47
(gdb) q

感谢各位的阅读,以上就是“GDB调试nginx运行流程举例分析”的内容了,经过本文的学习后,相信大家对GDB调试nginx运行流程举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/tech/safety/225995.html

(0)
上一篇 2022年1月8日 22:45
下一篇 2022年1月8日 22:45

相关推荐

发表回复

登录后才能评论