今天學習了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 函式指標變數,指...