gdb调试常用命令速查(段错误调试)
編譯程序時(shí)需要加上-g,之后才能用gdb進(jìn)行調(diào)試:gcc -g main.c -o main
gdb中命令:
回車(chē)鍵:重復(fù)上一命令
(gdb)help:查看命令幫助,具體命令查詢?cè)趃db中輸入help + 命令,簡(jiǎn)寫(xiě)h
(gdb)run:重新開(kāi)始運(yùn)行文件(run-text:加載文本文件,run-bin:加載二進(jìn)制文件),簡(jiǎn)寫(xiě)r
(gdb)start:單步執(zhí)行,運(yùn)行程序,停在第一執(zhí)行語(yǔ)句
(gdb)list:查看原代碼(list-n,從第n行開(kāi)始查看代碼。list+ 函數(shù)名:查看具體函數(shù)),簡(jiǎn)寫(xiě)l
(gdb)set:設(shè)置變量的值
(gdb)next:單步調(diào)試(逐過(guò)程,函數(shù)直接執(zhí)行),簡(jiǎn)寫(xiě)n
(gdb)step:單步調(diào)試(逐語(yǔ)句:跳入自定義函數(shù)內(nèi)部執(zhí)行),簡(jiǎn)寫(xiě)s
(gdb)backtrace:查看函數(shù)的調(diào)用的棧幀和層級(jí)關(guān)系,簡(jiǎn)寫(xiě)bt
(gdb)frame:切換函數(shù)的棧幀,簡(jiǎn)寫(xiě)f
(gdb)info:查看函數(shù)內(nèi)部局部變量的數(shù)值,簡(jiǎn)寫(xiě)i
(gdb)finish:結(jié)束當(dāng)前函數(shù),返回到函數(shù)調(diào)用點(diǎn)
(gdb)continue:繼續(xù)運(yùn)行,簡(jiǎn)寫(xiě)c
(gdb)print:打印值及地址,簡(jiǎn)寫(xiě)p
(gdb)quit:退出gdb,簡(jiǎn)寫(xiě)q
(gdb)break+num:在第num行設(shè)置斷點(diǎn),簡(jiǎn)寫(xiě)b
(gdb)info breakpoints:查看當(dāng)前設(shè)置的所有斷點(diǎn)
(gdb)delete breakpoints num:刪除第num個(gè)斷點(diǎn),簡(jiǎn)寫(xiě)d
(gdb)display:追蹤查看具體變量值
(gdb)undisplay:取消追蹤觀察變量
(gdb)watch:被設(shè)置觀察點(diǎn)的變量發(fā)生修改時(shí),打印顯示
(gdb)i watch:顯示觀察點(diǎn)
(gdb)enable breakpoints:啟用斷點(diǎn)
(gdb)disable breakpoints:禁用斷點(diǎn)
(gdb)x:查看內(nèi)存x/20xw 顯示20個(gè)單元,16進(jìn)制,4字節(jié)每單元
(gdb)run argv[1] argv[2]:調(diào)試時(shí)命令行傳參
(gdb)set follow-fork-mode child#Makefile項(xiàng)目管理:選擇跟蹤父子進(jìn)程(fork())
段錯(cuò)誤:
gcc main.c -g
ulimit -a
ulimit -c unlimited
./a.out
調(diào)試時(shí) gdb a.out corexxxx
ctrl+c:退出輸入
總結(jié)
以上是生活随笔為你收集整理的gdb调试常用命令速查(段错误调试)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 烽火连城决剧情介绍
- 下一篇: linux命令行界面下ctrl 常用组合