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...