转载至从 0 开始学习 Linux 系列之「08.15 个 gdb 调试基础命令」
此处仅想保存下来自己记录
gdb 简介
gdb 是 UNIX 及 UNIX-like 下的调试工具,在 Linux 下一般都直接在命令行中用 gdb 来调试程序,相比 Windows 上的集成开发环境 IDE 提供的图形界面调试,一开始使用 gdb 调试可能会让你感到生无可恋,但是只要熟悉了 gdb 调试的常用命令,调试出程序会很有成就感,一方面因为这些命令就类似图形界面调试按钮背后的逻辑,另一方面用命令行来调试程序,逼格瞬间就上了一个档次,这次就跟大家分享 gdb 调试的基本技术和 15 个常用调试命令。
在此之前,我们先来回顾下在 Windows 上使用 IDE 的图形界面调试过程。
IDE 的调试步骤
在 Windows 的 IDE 下调试程序,例如使用 VS,一般都有下面这几个操作:
Debug 模式编译并启动程序
程序运行出错,打断点分析出错的地方
单步运行程序,包括:step over 单步执行;step into 跳入函数;step return 跳出函数
还有全速运行,打印或者监视变量,冻结或解冻线程等调试技术
在 IDE 中上面的这些步骤一般都有固定的按钮提供给我们使用,非常的简单方便,我们只要多练习练习,在图形界面调试程序不会很难,但是在 Linux 下用命令来调试程序就比图形界面要复杂很多了。
其实,你知道真正的调试高手是什么样的吗?就是 Ta 对计算机原理和程序本身的逻辑理解非常深刻,在 Ta 的脑海中已经可以模拟程序的运行过程,并且知道可能出错的地方,这样连断点都不用打了,而且 Bug 的命中率也不低,或许这就是真正的大佬吧