gdb除錯筆記

2021-09-29 22:26:29 字數 974 閱讀 1802

gcc main.c sum.c -o main -g

gdb main

info breakpoints #檢視所有的斷點

b main.c:24 # 設定斷點 b main.c:main 可以用行號或者函式名字來設定斷點

break main.c:25 if a==109 #條件斷點

#disable  #禁用所有斷點

#disable bnum #禁用標號為bnum的斷點

#enable  #啟用所有斷點

#enable bnum #啟用標號為bnum的斷點

斷點清除:

斷點清除主要用到clear和delete命令。常見使用如下:

clear   #刪除當前行所有breakpoints

clear function  #刪除函式名為function處的斷點

clear filename:function #刪除檔案filename中函式function處的斷點

clear linenum #刪除行號為linenum處的斷點

clear f:lename:linenum #刪除檔案filename中行號為linenum處的斷點

delete  #刪除所有breakpoints,watchpoints和catchpoints

delete bnum #刪除斷點號為bnum的斷點

設定好斷點資訊後,接下來進行程式執行:

(gdb) run 90

(gdb) next

(gdb) p a

(gdb) display a

(gdb) display &a

(gdb) x/20x  0x7fffffffdc94 #檢視記憶體位址是0x7fffffffdc94的後面的記憶體20個的值

watch  *位址  可用在位址下面的內容傳送變化時斷住

通過bt可以顯示棧幀,bt full可以顯示區域性變數

break main.c: if a==109

GDB 除錯筆記

chmod 777 r 給許可權包括子目錄下的所有檔案 ls l 顯示檔案的許可權大小時間等資訊 break 5 在第五行打斷點 break test 在函式test 打斷點 info break 顯示所有斷點 i b delete 2 刪除第二個斷點 list 顯示 list 1 從第一行向下顯示...

GDB 帶參除錯筆記

最初學gdb除錯時是參考皓哥的blog裡做的 開發除錯過程中,陸陸續續接觸到一些新的除錯場景,記錄如下 gdb測試 include include include struct person int main int argc,char argv 編譯 gcc g gdbtst.c 使用gdb 進行...

mysql cache除錯筆記

mysql cache除錯筆記 1 可以使用下列命令開啟mysql的select cache功能 set global query cache size 102400000 因為當query cache size預設為0時,是不開啟cache功能的。2 除錯 檢視cache的設定 show vari...