三大特點:
1.啟動被除錯的程式(run);
2.設定斷點,單步執行;
3.檢視變數的值;
檢視源**:
gdb sum -tui
layout asm(顯示彙編)
layout src(顯示原碼)
layout split(全部顯示)
break+行號
info break(檢視斷點編號)
delete+斷點編號(刪除斷點)
break+行號+條件(break 17 if i=10 在17行當i=10停止)
printf i(檢視變數i)
break+函式名(當呼叫函式停下,break func)
disable+斷點編號(關閉斷點)
enable+斷點編號(開啟斷點)
clear+行號(清除這行斷點)
執行命令:
run(執行程式)
next(不進入子函式)
step(進入子函式)
continue(繼續執行直到程式結束,再次遇到斷點會停止)
作業
finish(退出該函式返回到它的呼叫函式中)
until(結束當前迴圈)
watch(在程式中設定乙個監測點(即資料斷點))
display(程式停止時顯示變數和表達時)
呼叫函式:
1.停止程序
2.建立乙個新的棧框(遠離真實棧)
3.儲存所有暫存器
4.設定你想要呼叫的函式的暫存器引數
5.設定棧指標指向新的棧框stack frame
6.在記憶體中某個位置放置一條陷阱指令
7.為陷阱指令設定返回位址
8.設定指令暫存器的值為你想要呼叫的函式位址
9.再次執行程序
GDB偵錯程式
偵錯程式gdb 一 啟動和退出gdb gdb除錯的物件是可執行檔案,而不是程式的源 如果要使乙個可執行檔案可以被gdb除錯,那麼在使用編譯器gcc編譯程式時需要加入 g選項。gdb除錯乙個程式的命令格式是 gdb 程式檔名 也可以在linux提示符下,直接輸入gdb,然後使用file命令裝入要除錯的...
gdb偵錯程式
在使用gdb偵錯程式之前,必須在編譯程式時加上 g選項 功能 顯示上次內容之前或之後的10行內容,首次使用顯示main 函式之前或之後的10行內容 命令 list 簡稱 l 功能 顯示引數行之前和之後的10行內容.命令 list line number 簡稱 l 10 功能 顯示原始檔從一行到另一行...
gdb偵錯程式
gdb是gnu發布的一款強大的除錯功能 gdb主要完成下面三個方面的功能 1 啟動被除錯程式 2 讓被除錯的程式在指定的位置停住 3 當程式停住時,可以檢視程式的狀態 變數值 gcc g test.c o test 生成除錯資訊 gdb test 啟動gdb gdb除錯工具相關命令 gdb run ...