1

准备文件

编写代码

编写简单的递归函数,命名为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

进行调试

按下图方式进行操作
clipboard.png
单步运行

clipboard.png

显示当前的frame和stack

clipboard.png

显示寄存器的值

clipboard.png

可以看到递归调用的堆栈

clipboard.png
代码地址

clipboard.png

函数调用信息

clipboard.png


NetScotte
5 声望1 粉丝

下一篇 »
PowerVM