在Linux斷點調(diào)試命令窗口中讀取數(shù)據(jù),可以使用以下命令:
成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、西充網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為西充等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
1. x/nfu addr: 使用指定的格式和大小從指定地址讀取數(shù)據(jù)。n表示要讀取的數(shù)據(jù)數(shù)量,f表示數(shù)據(jù)格式團(tuán)旦,u表示數(shù)據(jù)大小。如或羨
2. info registers: 查渣拍看當(dāng)前程序中各個寄存器的值。
3. disassemble: 查看當(dāng)前程序指令的匯編代碼。
4. print: 打印當(dāng)前程序的變量的值。
5. stepi/si: 執(zhí)行一條匯編指令。
6. nexti/ni: 執(zhí)行一條匯編指令,但不進(jìn)入函數(shù)體內(nèi)部。
GDB 是GNU開源組織發(fā)布的一個強(qiáng)大的UNIX下的程序調(diào)試工具?;蛟S,各位比較喜歡那種圖形界面方式的,像VC、BCB等IDE的調(diào)試,但如果你是在 UNIX平臺下做軟件,你會發(fā)現(xiàn)GDB這個調(diào)試工具有比VC、BCB的圖形化調(diào)試器更強(qiáng)大的功能。所謂“寸有所長,尺有所短”就是這個道理。 一般來說,GDB主要幫忙你完成下面四個方面的功能:
啟動你的程序,可以按照你的自定義的要求隨心所欲的運行程序。
可讓被調(diào)試的程序在你所指定的調(diào)置的斷點處轎槐停住。(斷點可以是條件表達(dá)式)
當(dāng)程序被停住時,可以檢查此時你的程序中所發(fā)生的事。
動態(tài)的改變你程序的執(zhí)行環(huán)境。
從上面看來,GDB和一般的調(diào)試工具沒有什么兩樣,基本上也是完成這些功能,不過在細(xì)節(jié)上,你會發(fā)現(xiàn)GDB這個調(diào)試工具的強(qiáng)大,大家可能比較習(xí)慣了圖形化的調(diào)試工具,但有時候,命令行的調(diào)試工具卻有著圖形化工具所不能完成的功能。讓我們一一看來。亂帆稿
gdb基本命令列表:
實例:
1 新建一個源文件vi swap.cc
源文件內(nèi)容如下:
#includeiostream
using namespace std;
void swap(int a,int b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
int main()
{
int i,j;
coutendl"Input two int number:"endl;
cinij;
cout"Before swap(),i="i" j="jendl;
swap(i,j);
cout"After swap(),i="i" j="jendlendl;
return 0;
}
直接復(fù)制粘貼生成源文件
2.生成可執(zhí)行文件 g++ -g -o swap swap.cc,注意必須使用-g參數(shù),編譯會加入調(diào)試信息,否則無法調(diào)試執(zhí)行文件
3.啟動調(diào)試 gdb swap
3.1 查看源嘩孝文件 list 1,回車重復(fù)上一次指令
3.2設(shè)置調(diào)試斷點 break 16,在第16行設(shè)置斷點,info break查看斷點信息(亦可使用縮寫i b )
3.3 調(diào)試 運行 輸入run 或者r
3.3 單步調(diào)試,step 或者 s進(jìn)入函數(shù)內(nèi)部
3.4查看變量 print b 或者 p b
3.5查看函數(shù)堆棧bt,退出函數(shù)finish
3.6 繼續(xù)運行直到下一個斷點或主函數(shù)結(jié)束continue或者c
3.7 退出調(diào)試 輸入q
根據(jù)這些可以查看系統(tǒng)調(diào)用的完整性,比如說服務(wù)器連接數(shù)一直漲,說明fd沒有close,close調(diào)用在上邊有缺失
strace -t -T -v -f -p 16705 -Te write 只看write系仿散游統(tǒng)調(diào)用
sudo gcore xxpid 生成dump文件
sudo dlv core binfile core.xxxx 調(diào)試coredump文件,查看調(diào)用棧、goroutines
查看系統(tǒng)級別日志 /var/log/messages
messages 日志是核心系統(tǒng)日志文件。它包含了系統(tǒng)啟動時的引導(dǎo)消息,以及系統(tǒng)運行時的其他狀態(tài)消息。IO 錯誤、網(wǎng)絡(luò)錯誤和其他系統(tǒng)錯誤都會記錄到這個文件中。其他信息,比如某個人的身份切換為備銷 root,也在這里列出。如果服務(wù)正在運行,比如 DHCP 服務(wù)器,您可以在 messages 文件中觀察它的活動。通常,/var/log/messages 是您在做故障診斷時首先要查看的文件。
tcpdump -i lo -nnA 'port 7076' and 'tcp[13] 4 != 0 ' 抓rst包,發(fā)送給7076端口或者是7076端口發(fā)出去的
mac osx系統(tǒng)掘罩:sudo tcpdump -i lo0 -nnA 'port 3000'
新聞名稱:linux命令調(diào)試過程 linux 調(diào)試
標(biāo)題鏈接:http://jinyejixie.com/article42/ddpiihc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計、ChatGPT、小程序開發(fā)、企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)