准备文件
编写代码
编写简单的递归函数,命名为factial.c
#include <stdio.h>
int main(){
int sum = factial(5);
}
factial(int n){
if(n==2){
return 2;
}
return n * factial(n-1);
}
生成可调试文件
gcc factial.c -o factial -g
这里的-g参数方便调试,生成可执行文件fatial
进行调试
按下图方式进行操作
单步运行
显示当前的frame和stack
显示寄存器的值
可以看到递归调用的堆栈
代码地址
函数调用信息