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运行流程举例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是蜗牛博客,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论