意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

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

来源:恒创科技 编辑:恒创科技编辑部
2024-02-11 06:28:59

这篇文章主要讲解了“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) 02: module = (ngx_http_module_t *) 0x71a5001: 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) 02: module = (ngx_http_module_t *) 0x71a6e01: 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) 02: module = (ngx_http_module_t *) 0x71a6e01: 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) 02: module = (ngx_http_module_t *) 0x71a6e01: m = 16(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71a6e01: 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) 02: module = (ngx_http_module_t *) 0x71a6e01: 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) 02: module = (ngx_http_module_t *) 0x71a8c01: 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) 02: module = (ngx_http_module_t *) 0x71a8c01: 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) 02: module = (ngx_http_module_t *) 0x71a8c01: m = 17(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71a8c01: 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) 02: module = (ngx_http_module_t *) 0x71a8c01: 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) 02: module = (ngx_http_module_t *) 0x71aba01: 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) 02: module = (ngx_http_module_t *) 0x71aba01: 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) 02: module = (ngx_http_module_t *) 0x71aba01: m = 18(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71aba01: 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) 02: module = (ngx_http_module_t *) 0x71aba01: 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) 02: module = (ngx_http_module_t *) 0x71ae801: 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) 02: module = (ngx_http_module_t *) 0x71ae801: 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) 02: module = (ngx_http_module_t *) 0x71ae801: m = 19(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71ae801: 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) 02: module = (ngx_http_module_t *) 0x71ae801: 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) 02: module = (ngx_http_module_t *) 0x71b0801: 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) 02: module = (ngx_http_module_t *) 0x71b0801: 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) 02: module = (ngx_http_module_t *) 0x71b0801: m = 20(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71b0801: 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) 02: module = (ngx_http_module_t *) 0x71b0801: 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) 02: module = (ngx_http_module_t *) 0x736ea01: 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) 02: module = (ngx_http_module_t *) 0x736ea01: m = 21(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x736ea01: 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) 02: module = (ngx_http_module_t *) 0x736ea01: 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) 02: module = (ngx_http_module_t *) 0x71b5601: 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) 02: module = (ngx_http_module_t *) 0x71b5601: m = 22(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71b5601: 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) 02: module = (ngx_http_module_t *) 0x71b5601: 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) 02: module = (ngx_http_module_t *) 0x71bb201: 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) 02: module = (ngx_http_module_t *) 0x71bb201: m = 23(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71bb201: 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) 02: module = (ngx_http_module_t *) 0x71bb201: 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) 02: module = (ngx_http_module_t *) 0x736f001: 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) 02: module = (ngx_http_module_t *) 0x736f001: m = 24(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x736f001: 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) 02: module = (ngx_http_module_t *) 0x736f001: 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) 02: module = (ngx_http_module_t *) 0x71be801: 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) 02: module = (ngx_http_module_t *) 0x71be801: m = 25(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71be801: 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) 02: module = (ngx_http_module_t *) 0x71be801: 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) 02: module = (ngx_http_module_t *) 0x71c1601: 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) 02: module = (ngx_http_module_t *) 0x71c1601: 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) 02: module = (ngx_http_module_t *) 0x71c1601: m = 26(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71c1601: 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) 02: module = (ngx_http_module_t *) 0x71c1601: 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) 02: module = (ngx_http_module_t *) 0x71c9001: 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) 02: module = (ngx_http_module_t *) 0x71c9001: 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) 02: module = (ngx_http_module_t *) 0x71c9001: m = 27(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71c9001: 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) 02: module = (ngx_http_module_t *) 0x71c9001: 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) 02: module = (ngx_http_module_t *) 0x71e0e01: 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) 02: module = (ngx_http_module_t *) 0x71e0e01: m = 28(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71e0e01: 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) 02: module = (ngx_http_module_t *) 0x71e0e01: 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) 02: module = (ngx_http_module_t *) 0x71f3601: 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) 02: module = (ngx_http_module_t *) 0x71f3601: m = 29(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x71f3601: 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) 02: module = (ngx_http_module_t *) 0x71f3601: 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) 02: module = (ngx_http_module_t *) 0x7206001: 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) 02: module = (ngx_http_module_t *) 0x7206001: m = 30(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x7206001: 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) 02: module = (ngx_http_module_t *) 0x7206001: 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) 02: module = (ngx_http_module_t *) 0x7213601: 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) 02: module = (ngx_http_module_t *) 0x7213601: m = 31(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x7213601: 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) 02: module = (ngx_http_module_t *) 0x7213601: 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) 02: module = (ngx_http_module_t *) 0x7218601: 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) 02: module = (ngx_http_module_t *) 0x7218601: m = 32(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x7218601: 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) 02: module = (ngx_http_module_t *) 0x7218601: 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) 02: module = (ngx_http_module_t *) 0x736f401: 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) 02: module = (ngx_http_module_t *) 0x736f401: m = 33(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x736f401: 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) 02: module = (ngx_http_module_t *) 0x736f401: 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) 02: module = (ngx_http_module_t *) 0x721c601: 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) 02: module = (ngx_http_module_t *) 0x721c601: m = 34(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x721c601: 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) 02: module = (ngx_http_module_t *) 0x721c601: 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) 02: module = (ngx_http_module_t *) 0x7220001: 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) 02: module = (ngx_http_module_t *) 0x7220001: m = 35(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x7220001: 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) 02: module = (ngx_http_module_t *) 0x7220001: 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) 02: module = (ngx_http_module_t *) 0x736f801: 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) 02: module = (ngx_http_module_t *) 0x736f801: m = 36(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x736f801: 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) 02: module = (ngx_http_module_t *) 0x736f801: 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) 02: module = (ngx_http_module_t *) 0x7228801: 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) 02: module = (ngx_http_module_t *) 0x7228801: 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) 02: module = (ngx_http_module_t *) 0x7228801: m = 37(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x7228801: 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) 02: module = (ngx_http_module_t *) 0x7228801: 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) 02: module = (ngx_http_module_t *) 0x736fe01: 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) 02: module = (ngx_http_module_t *) 0x736fe01: m = 38(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x736fe01: 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) 02: module = (ngx_http_module_t *) 0x736fe01: 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) 02: module = (ngx_http_module_t *) 0x722b801: 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) 02: module = (ngx_http_module_t *) 0x722b801: m = 39(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x722b801: 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) 02: module = (ngx_http_module_t *) 0x722b801: 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) 02: module = (ngx_http_module_t *) 0x7370201: 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) 02: module = (ngx_http_module_t *) 0x7370201: m = 40(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x7370201: 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) 02: module = (ngx_http_module_t *) 0x7370201: 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) 02: module = (ngx_http_module_t *) 0x722e801: 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) 02: module = (ngx_http_module_t *) 0x722e801: m = 41(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x722e801: 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) 02: module = (ngx_http_module_t *) 0x722e801: 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) 02: module = (ngx_http_module_t *) 0x7233601: 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) 02: module = (ngx_http_module_t *) 0x7233601: m = 42(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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) 02: module = (ngx_http_module_t *) 0x7233601: 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) 02: module = (ngx_http_module_t *) 0x7233601: 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) 02: module = (ngx_http_module_t *) 0x723b001: 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) 02: module = (ngx_http_module_t *) 0x723b001: 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 *) 0x723b001: m = 43(gdb) nBreakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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 *) 0x723b001: 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 *) 0x723b001: 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 *) 0x7180401: 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 *) 0x7180401: 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 *) 0x7180401: m = 44(gdb) Breakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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 *) 0x7180401: 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 *) 0x7180401: 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 *) 0x7181601: 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 *) 0x7181601: 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 *) 0x7181601: m = 45(gdb) nBreakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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 *) 0x7181601: m = 46(gdb) n309        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 *) 0x7181601: 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 *) 0x7187601: 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 *) 0x7187601: 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 *) 0x7187601: m = 46(gdb) nBreakpoint 2, ngx_http_block (cf=0x7fffffffe130, cmd=0x712280, conf=0x766bc0) at src/http/ngx_http.c:305305        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 *) 0x7187601: 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 *) 0x7187601: 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 *) 0x7188801: 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 *) 0x7188801: 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 *) 0x7188801: m = 47(gdb) q

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


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

上一篇: nginx启动初始化代码执行流程是什么 下一篇: 手机怎么远程登录云服务器?