新聞中心
linux系統(tǒng)是目前最常用的操作系統(tǒng)之一,在大多數(shù)情況下,軟件開(kāi)發(fā)人員都會(huì)在Linux下進(jìn)行開(kāi)發(fā)。如果出現(xiàn)程序錯(cuò)誤,你需要嚴(yán)格而全面地調(diào)試程序,這時(shí)就必須用到gdb(the GNU Debugger),GDB在Linux系統(tǒng)中是最常用的程序調(diào)試器。下面就要介紹GDB在Linux下的使用技巧:

目前成都創(chuàng)新互聯(lián)已為上1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、中寧網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
1. 首先,編譯程序時(shí)加入“-g”參數(shù):在編譯的時(shí)候我們可以使用“-g”參數(shù),這樣GDB就會(huì)產(chǎn)生結(jié)構(gòu)信息等調(diào)試信息,以便在調(diào)試時(shí)顯示正確的文件和行號(hào);
例如:
`gcc -g hello.c -o hello`
2. 使用set args為程序設(shè)定參數(shù): 運(yùn)行程序時(shí),我們可以在GDB環(huán)境中使用set args命令指定程序運(yùn)行時(shí)所需的參數(shù),這對(duì)于運(yùn)行參數(shù)依賴(lài)的程序非常有用;
例如:
`(gdb) set args –help`
3. 使用提示和補(bǔ)全功能很方便:在GDB環(huán)境中,可以按下tab鍵實(shí)現(xiàn)提示,也可以按兩次tab鍵實(shí)現(xiàn)補(bǔ)全功能;
例如:
`(gdb) step // 按tab鍵提示
stepi stepi instructions stepi over function calls`
4. 用list命令定位到指定行:使用list命令可以定位到指定行,比如,用list 10可以定位到文件中第十行并打??;
例如:
`(gdb) list 10`
5. 用print信息檢測(cè)變量:GDB提供了各種print命令用來(lái)運(yùn)行時(shí),查看變量等信息;
例如:
`(gdb) print i // 查看變量i
$1 = 1`
6. 用bt查看調(diào)用堆棧:用bt命令可以查看目前程序運(yùn)行的調(diào)用堆棧信息;
例如:
`(gdb) bt // 查看堆棧信息
#0 main (argc=1, argv=0xbffff8b4) at hello.c:31
#1 0x08048415 in __libc_start_main () `
通過(guò)上面的例子可以看出,GDB在Linux上的使用技巧是非常有用的,它可以幫助開(kāi)發(fā)人員以更高的效率檢查程序,減少錯(cuò)誤的出現(xiàn)。
四川成都云服務(wù)器租用托管【創(chuàng)新互聯(lián)】提供各地服務(wù)器租用,電信服務(wù)器托管、移動(dòng)服務(wù)器托管、聯(lián)通服務(wù)器托管,云服務(wù)器虛擬主機(jī)租用。成都機(jī)房托管咨詢(xún):13518219792
創(chuàng)新互聯(lián)(www.cdcxhl.com)擁有10多年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)、開(kāi)啟建站+互聯(lián)網(wǎng)銷(xiāo)售服務(wù),與企業(yè)客戶(hù)共同成長(zhǎng),共創(chuàng)價(jià)值。
文章標(biāo)題:Linux下使用GDB調(diào)試程序的技巧(linux使用gdb調(diào)試)
網(wǎng)址分享:http://fisionsoft.com.cn/article/cddicoj.html


咨詢(xún)
建站咨詢(xún)
