gdb的基礎用法 和 複雜C的宣告

2021-07-24 05:25:05 字數 490 閱讀 4895

今天學習了gdb偵錯程式:

gdb功能:1.啟動被除錯程式2.讓被除錯的程式在指定的位置停住3.停住時,可以檢查程式狀態-變數值

gdb下的一些命令:run 執行程式 ;list 檢視當前除錯程式原碼;break  設定斷點;next 單步執行(不能進入子函式)step 單步執行(可以進入子函式)

continue繼續執行(執行完);info break 檢視斷點資訊;delete 刪除斷點;quit 退出gdb;finish 結束當前函式……

段錯誤:進入gdb  直接run  停在**就是哪行出錯。

複雜c的宣告:「右左法則」

例:int * (*(* fpi)(int))[10]

fpi:函式指標變數,指向乙個形參int 返回值為陣列指標,該指標指向乙個整型指標陣列。

int * (*(*arr[5])())()

函式指標陣列,該陣列裡的元素指向乙個形參為空返回值是乙個函式指標,該指標指向乙個形參為空返回值為int *的函式

gdb的基礎詳細用法

run 簡寫r 執行程式,當遇到斷點後,程式會在斷點處停止執行,等待使用者輸入下一步的命令。continue 簡寫c 繼續執行,到下乙個斷點處 或執行結束 next 簡寫n 單步跟蹤程式,當遇到函式呼叫時,直接呼叫,不進入此函式體 step 簡寫s 單步除錯如果有函式呼叫,則進入函式 與命令n不同,...

剖析複雜的c的宣告

學過c語言的應該都見過c中那些讓人糾結的宣告吧 比如 char const next 這麼糾結的宣告我想如果你不是高手級別的人,應該是不能一下就可以想到的吧,不管看官行不行,反正我不行,哈哈 最近在看c專家程式設計,上面寫了關於這個應該是怎麼去剖析它,我覺得真的很不錯,應該推薦一下。按照以下的步驟下...

複雜的宣告

int a 整型變數 int a 整型指標變數 int a 整型指標的指標變數 int a 10 整型陣列 int a 10 整型指標陣列 int a 10 陣列指標變數 int a int 函式指標變數 int a 10 int 函式指標陣列 int fp1 int 10 fp1 函式指標變數,指...