vlambda博客
学习文章列表

Linux中调试C/C++程序的5种方式

对于Windows C开发人员,他们非常习惯用Visual Studio来设置断点并调试代码,而在Linux开发环境中,开发人员如何debug调试代码呢?如果只会用printf看输出是不是有点。。。

言归正传,在Linux中可以使用以下5种方式对C/C++程序进行调试:

  1. gdb
GDB(GNU Project debugger),是最原始的Linux debug工具, 为了能够使用gdb调试,在编译程序的时候 必须加-g选项 ,如: gcc test.c -g   -o test
gdb 使用效果如下图所示,其中 "b 函数名"或者“b 程序行数”,可以用来设置断点位置。


2. gdbtui
gdbtui是gdb的tui(text user interface)模式。
使用gdbtui,开发人员可以方便地显示源代码、汇编和寄存器文本窗口, gdbtui使用效果如下图所示:
Linux中调试C/C++程序的5种方式

3. ddd
ddd(全称Data Display Debugger)也是一款基于GUI的Linux GNU调试工具,ddd功能强大,使用效果如下图所示:
Linux中调试C/C++程序的5种方式

4. nemiver
nemiver界面简洁,使用效果如下图所示:

5. vscode
vscode是作者最常用和最推荐的Linux C/C++ IDE,vscode作为debug的工具,它的使用效果如下图所示:

总结:
本文介绍Linux C/C++开发中常用的5种debug工具,gdb可以在嵌入式开发中远程调试代码,gdbtui/ddd/nemiver相对适用于Linux中内容较少的测试代码调试(仅代表作者观点),而vscode不仅适用于Linux大型项目的开发工具,更方便Linux项目的代码调试,也更加可视化。