如何使用GDB调试大项目?

时间:2009-11-11 13:02:35

标签: debugging gdb project

现在我有一个c语言项目,其中包含三个目录 / bin / inc / src 。 所有头文件( .h)都包含在 / inc 中,所有源( .c)文件都存储在 / src 中,ieac ,bc,cc ..,最终生成的可执行文件将位于/ bin。

在使用makefile编译之后,所有obj文件都将在 / src / obj 中生成,如a.o,b.o,c.o,d ......!此外,将在 / bin 目录中生成final.exe可执行文件。

现在,如果我想用GDB调试它,我该怎么办?

调试/ src / obj中的那些obj文件?或者其他什么?

非常感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

您可以通过使用GDB启动应用程序来调试应用程序

%> gdb <your_executable>

或通常更容易的是启动您的应用程序,然后使用PID将调试器附加到进程。

%> gdb -p <pid>

对于命令行选项,只需键入gdb -h并在gdb内部运行 通过在gdb命令行上键入“help”,始终可以获得帮助。

以下是一些常用命令的快速cheat sheettutorial site

正如Arkaitz所提到的,请确保编译代码,以便它具有可执行文件中包含的必要调试信息。

如果从命令行进行调试有点令人生畏,可以使用一些使用GDB的UI。我使用gdb在Eclipse中进行了很多调试。

一旦你开始走下gdb路径,我相信你会有更多问题,我鼓励你在SO上提出更具体的问题。

祝你好运。

答案 1 :(得分:1)

gdb bin/binary.exe有什么问题?如果编译正确并将-g -ggdb放在编译标志中,GDB应该有足够的信息来显示内联代码