GDB 常用命令实战
一、实验说明
1.1 实验简介
本课程通过动手实验学习 Linux 上 GDB 调试 C 语言程序的基本技巧。首先讲解了 GDB 的常用命令,然后通过对有问题的链表程序的调试来逐步实践挖掘程序 BUG 的过程。
1.2 知识点
本课程中将学习并实践以下知识点:
- Linux 环境下 C 语言的程序调试过程
- GDB 调试程序的基本步骤
- 链表程序 BUG 调试实战
1.3 下载测试程序
实验楼最核心的是动手实践学习技术,所以本课程中我们将通过对两个程序的调试来熟悉 GDB 调试技术。
这两个程序分别为:
debugging.c
程序:只有一个源文件,这是一个简单的求和程序,计算1+2+3+...+100
的值。程序存在bug,导致预期结果并不为 5050,我们将在本节实验中调试并修复 BUG。- 链表程序:本例的程序来源于 github, 程序定义了数据结构链表,并使用了三个测试函数进行测试,程序仍然有 BUG,需要我们使用 GDB 去发现。
在实验开始之前,我们先下载并解压上述的测试代码,打开桌面上的 Xfce 终端,输入下面的命令:
# 进入到 shiyanlou 用户家目录
cd /home/shiyanlou/
# 下载代码压缩包
wget http://labfile.oss.aliyuncs.com/courses/496/gdbtest.zip
# 解压
unzip gdbtest.zip
# 进入到代码目录查看文件列表
cd gdbtest/
ls -l
下载后的文件列表如下图所示: