如何调试使用Makefile构建的apache模块?

时间:2010-03-30 08:29:47

标签: debugging apache2

首先,我来自Windows-VisualStudio-C ++背景。现在我正在Ubuntu环境中开发。

在Makefile的帮助下,我构建了一个mymodule.so并将其复制到apache中的modules文件夹中。现在,模块似乎工作正常。但我想调试这个模块以更好地理解它。

  1. 那么,首先,在调试此模块时,有什么方法可以获得类似于Visual Studio调试器类型的感觉吗?
  2. 现在,我读到我可以使用gdb调试apache模块,有人可以详细告诉我这是如何完成的,或者指向一些资源来实现它。
  3. 理想情况下,我想单步处理。我正在尝试Code :: Blocks IDE,它有一些调试支持。使用IDE和自定义make文件,我构建了模块。将其复制到模块位置,但我如何调试。
  4. 我如何挂钩apache进程。我应该使用Attach to Process。我用httpd的pid尝试过,但没有成功。
  5. 另外,虽然构建中有一些我应该设置的标志,以便.so文件可以调试吗?
  6. 我非常熟悉Linux,因为我来自windows编程背景。请建议我如何解决这个问题。

    提前致谢, 阿琼

1 个答案:

答案 0 :(得分:0)

我认为您可以使用gdb(at 1111,其中1111是进程的PID,或者在Code :: Blocks中)附加到apache进程,并在模块函数中设置断点(如果模块已编译)与调试。您需要是root用户或与apache进程相同的用户。

gcc -g标志用于使用调试信息构建二进制文件。