gdb 實用小記

2021-05-28 07:21:49 字數 856 閱讀 5267

將日常常用的gdb操作記下來,記憶力不好

1.gdb 除錯程式

gdb 程式檔案

2.gdb 除錯程序

gdb attach 程序pid

3.gdb 除錯core檔案

gdb --core=core檔案 也可以 gdb -c core檔案

也可以 gdb xx.dbg(帶-g編譯後的可執行檔案) core檔案 這樣挺方便的,同時載入帶符號的檔案和core檔案

4.gdb 常用命令

打斷點:

b 函式名 or  檔名:行號

info b 檢視所有斷點

delete b 斷點編號(可以從info b裡看到)

disable b 斷點編號 

frame操作:

info f 檢視所有frame

frame frame編號 切換frame(可以從info f 看到)

info locals (可以檢視所有當前frame的區域性變數)

bt 檢視程序經歷的frame列表

在除錯core檔案,以及檢視當前執行點之前的frame裡區域性變數很有用

一般操作:

p 變數名 列印變數值

n 下一步

s 下一步,如果是函式會進入呼叫的函式裡

finish 跳出迴圈或者函式

c 繼續

ctrl+c 中斷,這樣就可以進行gdb設定,比如設定新的斷點,檢視其它資訊之類,一般在c命令使用後,又想進行gdb操作時使用

好像經常用的就這麼多,發現gdb是個神器啊,+上emacs+cscope+autocomplete,+make,真的不需要ide了,emacs的編輯速度真夠快的。另外tcpdump是個除錯網路的神器,介紹的文章網上很多

GDB使用小記

by francis hao nov 7,2016 記錄gdb常用功能。gdb可以讓你檢視乙個程式在執行時其內部發生了什麼,或者當乙個程式崩潰時發生了什麼 通過使用gdb檢視core dump檔案 基礎 啟動gdb gdb 僅啟動gdb,未引導程式檔案,可通過file program進行載入,也可以...

gdb除錯學習小記

由於最近搞了一發sublime text的使用,然後發現這東西只能當編譯器,不能用來除錯 於是便去學了一發gdb的除錯方法。然後發現報錯了?仔細一看,原來是pascal的gdb把c 的gdb覆蓋掉了233 怎麼那麼相似呢 機房渣渣win7 32bit mingw file 檔名 開始除錯這個檔案 r...

GDB除錯core檔案小記

1.如果不走配置,必須在當前shell中設定core檔案的限制 2.在當前shell中設定core限制,在其他shell中啟動程式,是不會生效的 3.core一般很大,最好設為unlimited 4.root 使用者使用ulimit c unlimited命令,開啟core dump功能,並且不限制...