编写简单的递归函数,命名为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
按下图方式进行操做
单步运行spa
显示当前的frame和stack调试
显示寄存器的值code
能够看到递归调用的堆栈递归
代码地址ip
函数调用信息it