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

Debugging 如何调试到使用Makefile构建的apache模块中?,debugging,apache2,Debugging,Apache2,首先,我来自Windows-VisualStudio-C++背景。现在我正在Ubuntu环境中开发 在Makefile的帮助下,我构建了一个mymodule.so,并将其复制到apache中的modules文件夹中。现在,模块似乎工作正常。但我想调试到这个模块中,以便更好地理解它 那么,首先,在调试这个模块时,有没有办法获得类似于VisualStudio调试器类型的感觉 现在,我读到我可以使用gdb调试到apache模块中,有人可以详细地告诉我这是如何做到的,或者给我指出一些可以做到这一点的资源

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

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

  • 那么,首先,在调试这个模块时,有没有办法获得类似于VisualStudio调试器类型的感觉
  • 现在,我读到我可以使用gdb调试到apache模块中,有人可以详细地告诉我这是如何做到的,或者给我指出一些可以做到这一点的资源
  • 理想的情况下,我想一步一个脚印。我正在尝试Code::Blocks IDE,它有一些调试支持。使用IDE和定制文件,我构建了模块。已将其复制到模块位置,但如何调试
  • 如何连接到apache进程。我应该使用“附加到进程”吗。我用httpd的pid进行了尝试,但没有成功
  • 另外,在构建时,是否应该设置一些标志,以便.so文件可以调试
  • 我对Linux非常基础,因为我来自windows编程背景。请建议我如何做这件事

    提前感谢,,
    Arjun

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

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