|
|
1
5
|
|
|
2
2
我记录了自己使用ddd(gdb前端)调试mod_deflate Apache模块的经验 Here 本指南记录了调试Apache 2.2.16模块所需的步骤。本例中调试的模块是deflate模块(mod_deflate.c)以及用于压缩数据的zlib库。在本例中,zlib库和deflate模块都包含我们希望逐步使用的自定义代码。
EXTRA_CFLAGS=“-g”告诉编译器包含调试符号。 --prefix=/ap将安装放置在/ap中。 --随附的apr消除了版本或编译选项与apr和apr util代码不匹配的可能性(可能不是必需的,但不会造成伤害)。 --enable mods shared=all允许修改模块,然后重新加载。如果未使用此选项,则将模块代码编译到主Apache二进制文件中。
确保存在LoadModule deflate_modules modules/mod_deflate.so(或类似内容)行。 添加行AddOutputFilterByType DEFLATE text/html text/plain text/xml(或类似内容)。
在Makefile中删除-03选项,这样代码就不会被优化。
笔记: 默认情况下,zlib构建一个静态库。 EXTRA_CFLAGS=-g告诉编译器包含调试符号。 --prefix=/ap将安装放在bin中。
笔记: -g告诉编译器包含调试符号。
ctrl-c返回到gdb提示符 文件->开源并选择mod_deflate.c或aha363_zlib.c
注意:来自Apache模块手册《使用Apache pg 328开发应用程序》。。我们使用-X选项来防止Apache自行分离, 配置处于活动状态。如果我们把它留在那里,Web服务器基本上已经启动并运行,将为传入的请求提供服务。我们可以用英语打断它 Ctrl-c返回调试器。 这就是准备好调试Apache模块代码所需的全部内容。 |