1. nginx源码编译,依赖于pcre和zlib

  2. 下载源码后,通过./configure --help可以查看编译选项,为了增加gdb调试信息,使用./configure --with-cc-opt='-g -o0'和make CFLAGS="-g -o0"

  3. 为了方便调试可以启动一个worker进程

  4. nginx对gdb也有辅助支持,用debug_points配置项:stop或者abort,表示在遇到严重错误的时候,

    ngingx的进程可以stop住。如果是abort,可以设置生成core文件。

  5. 关于宏,宏默认是直接替换的,如果在编译的时候,将-g 改为--ggdb3可以保留宏,但是增大了可执行二进制文件。info macro NGX_OK/ macro expand NGX_OK/p NGX_OK。如果info 没有找到,可以list文件加载一下后,再去执行info命令。

  6. 编译的时候可以增加--with-debug,以便生成调试信息。

  7. 配置文件的错误日志: error-log logs/error.log debug_http或者其他参数,只打印自己想要的。

  8. strace/pstack:  strace -t -T -o -f -p显示进程调用;pstack显示调用栈。

  9. 一次性获得nginx的全部执行流程:system tap;-finstrument-functions addr2line.sh;

  10. 加桩调试,在代码中嵌入自己的桩函数进行调试。

  11. 自己写代码,封装http报文,构造nginx异常场景来进行观察。

转载于:https://blog.51cto.com/bosswanghai/1785037

nginx编译和调试相关推荐

  1. Nginx 附录C 模块编译,调试与测试

    Nginx 附录C 模块编译,调试与测试 C.1 编译与安装 环境要求 操作系统:目前Nginx各版本在以下操作系统和平台测试通过: FreeBSD 3 - 10 / i386; FreeBSD 5 ...

  2. LNMP平台搭建之一:nginx编译安装

    参考博客:https://www.cnblogs.com/zhang-shijie/p/5294162.html   jack.zhang 一.环境说明 系统环境:centos6.5 [root@lo ...

  3. nginx 源码调试

    nginx 源码调试 这段时间正在学习nginx源码,看到一贴子的提问 (帖子:http://www.oschina.net/question/2711991_2165566?p=1#AnchorAn ...

  4. LLVM Clang前端编译与调试

    LLVM Clang前端编译与调试 iOS 关于编译 o 一.Objective-C 编译过程 o 为什么需要重新编译? o 编译步骤 o 二.编译步骤的详细说明 o 1.预处理 o 2.编译 o 词 ...

  5. 【Win7下Android native code的编译和调试】

    光为这编译及调试环境就前后折腾了两三天,墙外找了很多教程,bill以为以下教程最为贴切 Using eclipse for android - cc Development Using eclipse ...

  6. 一份简单的在 Linux下编译及调试 C 代码的指南

    摘要: 一份简单的在 Linux下编译及调试 C 代码的指南 对于Linux下的C程序员来说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无 ...

  7. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 系统中调试器进程内存流程 | 编译内存调试动态库以及调试程序 )

    文章目录 一.Android 系统中调试器进程内存流程 二.编译内存调试动态库以及调试程序 三.博客资源 一.Android 系统中调试器进程内存流程 修改游戏运行中的内存 , 游戏运行之后 , 游戏 ...

  8. Linux下Nginx编译安装后的开机自启动设置

    Linux下Nginx编译安装后的开机自启动设置 一.查看当前Nginx启动状态 二.而配置Nginx相关服务文件 三 .设置nginx命令 四.设置开机启动 五.测试开机启动 一.查看当前Nginx ...

  9. Linux下Nginx编译安装过程详解

    Linux下Nginx编译安装过程详解 一.Nginx介绍 二.Nginx源码下载 1.打开Nginx官网 2.下载官网的源码包 三.Nginx源码安装 1.解压源码包 2.安装开发包组及环境 3.编 ...

  10. 宝塔nginx文件服务器,宝塔面板nginx编译webdav模块 – 建立webdav服务器

    要想Nginx支持WebDAV,需要手动添加http_dav_module和nginx-dav-ext-module模块.http_dav_module模块是nginx默认的模块,但是也需要手动编译. ...

最新文章

  1. 剪切粘贴时总是上次的内容_【Procreate 迷你课堂】#4 三指快速拷贝及粘贴
  2. spring对事务的控制 AOP
  3. mysql 社区版密码如何修改_如何用优雅的方法修改MySQL root密码
  4. NAND Flash 芯片测试
  5. matlab求条件概率密度_数值优化方法—迭代法amp;终止条件
  6. JAVA---集合子接口之Set
  7. 台式计算机M丅BF是什么,台式机主板的 BIOS ID 代码
  8. 神经网络 和 NLP —— 语言模型和词向量
  9. Mac 消除系统更新小红点
  10. 计算机应用基础测试题的答案2015,在线测试卷--计算机应用基础(题目+答案)
  11. 贸易融资名词解析:出口押汇与进口押汇
  12. 如何在linux下安装rar软件,Linux下安装使用RAR压缩软件的方法
  13. 三、nginx信号控制
  14. NPDP产品经理认证:产品开发项目的风险评估
  15. 电脑使用技巧(office 套件英文版切换为中文)
  16. 手提电脑安装双屏后没有声音输出
  17. ios和android耗电,安卓手机为什么比苹果手机更耗电?
  18. Camera,音频录制与Vitamio框架
  19. Pixel-level Extrinsic Self Calibration of High Resolution LiDAR and Camera in Targetless Environment
  20. 反感料理包的真正原因,正在被“恶心”掩盖

热门文章

  1. 用JAVA打出的计算机_如何用Java代码操作计算机文件?
  2. python打印字符串所在行_python打印文件中某个字符串的前几行
  3. 怎么发文件到服务器异常,大神帮我看看,我用async-http框架上传文件到服务器发生异常...
  4. windows关于python虚拟机的设置以及安装使用virtualenv
  5. mysql grant 用户权限
  6. 文字发光_PS教程来喽,看PS大神如何使用PS制作发光字效果,果断收藏一下
  7. php中循环用冒号,for循环条件里冒号是什么作用?
  8. 基于Yolov5目标检测的物体分类识别及定位(二) -- yolov5运行环境搭建及label格式转换
  9. Python 中的 if __name__ == '__main__'
  10. kernel---1