C程序調試分析

準備文件

編寫代碼

編寫簡單的遞歸函數,命名爲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
單步運行spa

clipboard.png

顯示當前的frame和stack調試

clipboard.png

顯示寄存器的值code

clipboard.png

能夠看到遞歸調用的堆棧遞歸

clipboard.png
代碼地址ip

clipboard.png

函數調用信息it

clipboard.png

相關文章
相關標籤/搜索