2010-04-07 87 views
19

我正在使用LinuxGCCC如何调试C程序

我有一个make文件。

我想调试我的模块。我不想调试一个文件,我想调试整个模块。

我该怎么办?

回答

25

用-g标志编译你的代码,然后使用gdb调试器。 GDB的文档here,但在本质:

gcc -g -o prog myfile.c another.c 

然后:

gdb prog 

如果你想为一个GDB用户友好的图形用户界面,看看DDDInsight

+2

还有名为DDD gdb的图形界面,如果你有一个很难用习惯GDB可以是有用的。 – wasatz 2010-04-07 08:29:35

+0

+1只是添加 - http://stackoverflow.com/questions/2588853/the-community-driven-gdb-primer – 2010-04-07 08:29:43

+0

我有很大的没有.c文件。 根据你我必须包括他们所有。 有没有什么最简单的方法。 – ambika 2010-04-07 08:45:29

6

我想你是从命令行构建的。

您可能需要考虑一个IDE(集成开发环境),例如KDevelop或Eclipse等(提示 - Eclipse ... ECLPISE ... E C L I PS E)。

使用IDE编辑您的代码,重构你的代码,你的代码 - 分类,单击一个变量,类或函数跳转到报关,等,等

和 - 当然 - 调试:

  • 运行您的代码在IDE
  • 设置断点停在特定线路
  • 或只是在一个时间
  • 检查调用堆栈,看步,行你怎么去那里
  • 检查变量的当前值,了解你的问题
  • 改变这些变量的值,并运行看个究竟
  • 和更多,更多,更多

PS为wasatz mentioned- DDD是伟大的 - 用于可视化阵列/矩阵的内容,以及 - IMO - 特别是如果你已经链表

1

您可以使用基于gdb的简单而有用的GUI“Nemiver”。它可以调试包含许多源文件的整个模块。

enter image description here