您好,登錄后才能下訂單哦!
這篇文章主要講解了“GDB調(diào)試nginx運行流程舉例分析”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“GDB調(diào)試nginx運行流程舉例分析”吧!
在nginx源代碼中有大量的任務被加到紅黑樹中,或者通過注冊回調(diào)函數(shù)來實現(xiàn),通過閱讀源碼很難發(fā)現(xiàn)和跟蹤執(zhí)行流程。但是通過調(diào)試nginx代碼可以很清晰的跟蹤nginx執(zhí)行的流程,可以很直觀的發(fā)現(xiàn)一次http請求響應完整處理生命周期。
nginx modules順序調(diào)試: 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調(diào)試nginx運行流程舉例分析”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對GDB調(diào)試nginx運行流程舉例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。