Linux系統(tǒng)中GDB功能匯總
Linux系統(tǒng)中GDB功能匯總
在Linux系統(tǒng)操作中,GDB是一款程序調(diào)試工具,且擁有多種功能,下面學(xué)習(xí)啦小編將針對(duì)GDB的功能給大家做個(gè)詳細(xì)介紹,以便你對(duì)GDB有個(gè)詳細(xì)的了解。
或許,各位比較喜歡那種圖形界面方式的,像VC、BCB等IDE的調(diào)試,但如果你是在 UNIX平臺(tái)下做軟件,你會(huì)發(fā)現(xiàn)GDB這個(gè)調(diào)試工具有比VC、BCB的圖形化調(diào)試器更強(qiáng)大的功能。所謂“寸有所長(zhǎng),尺有所短”就是這個(gè)道理。 一般來說,GDB主要幫忙你完成下面四個(gè)方面的功能:
啟動(dòng)你的程序,可以按照你的自定義的要求隨心所欲的運(yùn)行程序。
可讓被調(diào)試的程序在你所指定的調(diào)置的斷點(diǎn)處停住。(斷點(diǎn)可以是條件表達(dá)式)
當(dāng)程序被停住時(shí),可以檢查此時(shí)你的程序中所發(fā)生的事。
動(dòng)態(tài)的改變你程序的執(zhí)行環(huán)境。
從上面看來,GDB和一般的調(diào)試工具沒有什么兩樣,基本上也是完成這些功能,不過在細(xì)節(jié)上,你會(huì)發(fā)現(xiàn)GDB這個(gè)調(diào)試工具的強(qiáng)大,大家可能比較習(xí)慣了圖形化的調(diào)試工具,但有時(shí)候,命令行的調(diào)試工具卻有著圖形化工具所不能完成的功能。讓我們一一看來。
gdb基本命令列表:
實(shí)例:
1 新建一個(gè)源文件vi swap.cc
源文件內(nèi)容如下:
#include
using namespace std;
void swap(int &a,int &b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
int main()
{
int i,j;
cout《
cin》》i》》j;
cout《《“Before swap(),i=”《
3.啟動(dòng)調(diào)試 gdb swap
3.1 查看源文件 list 1,回車重復(fù)上一次指令
3.2設(shè)置調(diào)試斷點(diǎn) break 16,在第16行設(shè)置斷點(diǎn),info break查看斷點(diǎn)信息(亦可使用縮寫i b )