一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

gdb調(diào)試帶參數(shù)程序

 quasiceo 2018-04-26

轉(zhuǎn)載自http://www.cnblogs.com/rosesmall/archive/2012/04/10/2440514.html

一般來(lái)說(shuō)GDB主要調(diào)試的是C/C++的程序。要調(diào)試C/C++的程序,首先在編譯時(shí),我們必須要 
把調(diào)試信息加到可執(zhí)行文件中。使用編譯 器(cc/gcc/g++)的 -g 參數(shù)可以做到這一點(diǎn)。如: 

> cc -g hello.c -o hello 
> g++ -g hello.cpp -o hello 

如果沒(méi)有-g,你將看不見(jiàn)程序的函數(shù)名、變量名,所代替的全是 運(yùn)行時(shí)的內(nèi)存地址。當(dāng)你用 
-g把調(diào)試信息加入之后,并成功編譯目標(biāo)代碼以后,讓我們來(lái)看看如何用gdb來(lái)調(diào)試他。 

啟動(dòng) GDB的方法有以下幾種: 

1、gdb <program> 
program也就是你的執(zhí)行文件,一般在當(dāng)然目錄下。 

2、gdb <program> core 
用gdb同時(shí)調(diào)試一個(gè)運(yùn)行程序和core文件,core是程序非法執(zhí)行后core dump后產(chǎn)生 
的文件。 

3、gdb <program> <PID> 
如果你的程序是一個(gè)服務(wù)程序,那么你可以指定這個(gè)服務(wù)程序運(yùn)行時(shí)的進(jìn)程ID。gd 
b會(huì)自動(dòng)attach上去,并調(diào)試他。program應(yīng)該在 PATH環(huán)境變量中搜索得到。 



GDB啟動(dòng)時(shí),可以加上一些GDB的啟動(dòng)開(kāi)關(guān),詳細(xì)的開(kāi)關(guān)可以用gdb -help查看。我在下面只 
例舉一些比較常用的參數(shù): 

-symbols <file> 
-s <file> 
從指定文件中讀取符號(hào)表。 

-se file 
從指定文件中讀取符號(hào)表信息,并把他用在可執(zhí)行文件中。 

-core <file> 
-c <file> 
調(diào)試時(shí)core dump的core文件。 

-directory <directory> 
-d <directory> 
加入一個(gè)源文件的搜索路徑。默認(rèn)搜索路徑是環(huán)境變量中PATH所定義的路徑。

當(dāng)以gdb <program>方式啟動(dòng)gdb后,gdb會(huì)在PATH路徑和當(dāng)前目錄中搜索<program>的源文件 
。 如要確認(rèn)gdb是否讀到源文件,可使用l或list命令,看看gdb是否能列出源代碼。 

在gdb中,運(yùn)行程序使用r或是run命令。 程序的運(yùn)行,你有可能需要設(shè)置下面四方面的事。 

1、程序運(yùn)行參數(shù)。 
set args 可指定運(yùn)行時(shí)參數(shù)。(如:set args 10 20 30 40 50) 
show args 命令可以查看設(shè)置好的運(yùn)行參數(shù)。 

2、 運(yùn)行環(huán)境。 
path <dir> 可設(shè)定程序的運(yùn)行路徑。 
show paths 查看程序的運(yùn)行路徑。 
set environment varname [=value] 設(shè)置環(huán)境變量。如:set env USER=hchen 
show environment [varname] 查看環(huán)境變量。 

3、工作目錄。 
cd <dir> 相當(dāng)于shell的cd命令。 
pwd 顯示當(dāng)前的所在目錄。 

4、程序的輸入輸出。 
info terminal 顯示你程序用到的終端的模式。 
使用重定向控制程序輸出。如:run > outfile 
tty命令可以指寫輸入輸出的終端設(shè)備。如:tty /dev/ttyb

具體來(lái)說(shuō)就是

例如一個(gè)程序名為prog 參數(shù)為 -l a -C abc
則,運(yùn)行g(shù)cc/g++ -g  prog.c/cpp -o prog
就可以用gdb調(diào)試程序prog
#gdb prog
進(jìn)入gdb調(diào)試界面
輸入?yún)?shù)命令set args 后面加上程序所要用的參數(shù),注意,不再帶有程序名,直接加參數(shù),如:
set args -l a -C abc
回車后輸入
r
即可開(kāi)始運(yùn)行

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    麻豆一区二区三区精品视频| 亚洲精品国产美女久久久99| 国产又粗又猛又爽又黄| 久草视频在线视频在线观看| 久久精品蜜桃一区二区av| 99国产高清不卡视频| 日韩不卡一区二区在线| 国产又黄又爽又粗视频在线| 欧美黑人在线一区二区| 韩国日本欧美国产三级| 日韩不卡一区二区三区色图| 亚洲国产精品久久精品成人| 在线欧美精品二区三区| 加勒比系列一区二区在线观看| 日本精品理论在线观看| 日本精品中文字幕在线视频| 国产肥女老熟女激情视频一区| 国产传媒高清视频在线| 久久国产精品亚州精品毛片 | 插进她的身体里在线观看骚| 欧美午夜性刺激在线观看| 国产成人人人97超碰熟女 | 日本高清不卡一二三区| 亚洲一区二区三区日韩91| 中文字幕免费观看亚洲视频| 大香蕉久久精品一区二区字幕| 亚洲中文字幕乱码亚洲| 大香蕉久草网一区二区三区| 国产日韩欧美国产欧美日韩 | 国产一区欧美一区日韩一区| 免费在线观看欧美喷水黄片| 亚洲午夜av一区二区| 一区二区三区日本高清| 日韩人妻中文字幕精品| 男女午夜视频在线观看免费| 欧美黑人黄色一区二区| 欧美一级日韩中文字幕| 国产成人一区二区三区久久| 国内精品偷拍视频久久| 国产亚洲欧美一区二区| 国产视频在线一区二区|