《调用GDB调试器的几种方式》一节中提到,借助 next 命令可以控制 GDB 单步执行程序。所谓单步调试,就是通过一行一行的执行程序,观察整个程序的执行流程,进而尝试发现一些存在的异常或者 Bug。根据实际场景的需要,GDB 调试器共提供了 3 种可实现单步调试程序的方法,即使用 next、step 和 until 命令。换句话说,这 3 个命令都可以控制 GDB 调试器每次仅执行 1 行代码,但除此之外,它们各自还有不同的功能。本节就来一一给大家讲解这 3 个命令的功能和用法。讲解过程中,将以调试如下 C 语言程序为例:
#include int print(int num){
int ret = num * num; return ret;}int myfunc(int num){
int i = 1; int sum = 0; while(i <= num){
sum += print(i); i++; } return sum;}int main(){
int num =0; scanf("%d", &num); int result = myfunc(num); printf("%d", result); return 0;}
此程序存储在~/demo/main.c
源文件中(~ 表示当前用户的主目录),功能是根据用户输入的 num 值,输出 1