如何调试C程序

amb*_*ika 24 c linux debugging gcc

我正在使用Linux,GCCC.

我有一个make文件.

我想调试我的模块.我不想调试单个文件,我想调试整个模块.

我该怎么做?

小智 31

使用-g标志编译代码,然后使用gdb调试器.gdb的文档在这里,但实质上:

gcc -g -o prog myfile.c another.c
Run Code Online (Sandbox Code Playgroud)

然后:

gdb prog
Run Code Online (Sandbox Code Playgroud)

如果您想要一个用户友好的gdb GUI,请查看DDDInsight.

  • 还有一个名为ddd的gdb图形界面,如果你很难习惯gdb,它可能很有用. (3认同)

Maw*_*awg 7

我猜你是从命令行构建的.

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

使用IDE编辑代码,重构代码,检查代码类树,单击变量,类或函数以跳转到声明等,等等

而且 - 当然 - 调试:

  • 在IDE中运行您的代码
  • 设置断点以停在特定行
  • 或者只是单步执行,一次一行
  • 检查调用堆栈,看看你是如何去那里的
  • 检查变量的当前值,以了解您的问题
  • 更改这些变量的值并运行以查看发生的情况
  • 更多,更多,更多

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