日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转载].gdb调试器快速入门

發(fā)布時(shí)間:2025/3/17 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载].gdb调试器快速入门 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

調(diào)試在我們編寫程序時(shí)占有重要的地位。在linux下如何使用gdb調(diào)試器?下面采用FQA的方式讓你快速了解gdb調(diào)試器。

1.如何啟動(dòng)gdb調(diào)試器呢?

在終端輸入 gdb 程序文件名 即可。注意gdb調(diào)試的是可執(zhí)行文件,而不是源代碼。因此此處的文件名應(yīng)該是可執(zhí)行程序文件名。成功進(jìn)入gdb后會(huì)顯示一大段文字說明,然后是gdb提示符:(gdb) 。

請注意在進(jìn)入gdb之前應(yīng)該按照如下方式編譯源程序:

gcc -g test_gdb.c -o test_gdb

只有加入選項(xiàng)-g才能被gdb調(diào)試。

2.除了上述方法,還有其他方法進(jìn)入gdb嗎?

直接在終端輸入:gdb,成功進(jìn)入后,使用file命令裝入要調(diào)試的程序。輸入:?file 程序文件名?即可。

3.我成功進(jìn)入了gdb,如何退出呢?

使用quit命令,輸入:?quit?即可。

4.進(jìn)入gdb后,我要查看源代碼必須退出才能查看嗎?

當(dāng)然不用。下面的命令可以幫助你快速查看源碼。

list: 顯示10源代碼,再次輸入該命令顯示接下來的10行。

list 1,10:顯示從第一行到第10行的代碼。

list 函數(shù)名:顯示此函數(shù)名周圍的代碼。

5.gdb可以設(shè)置斷點(diǎn)嗎?如何設(shè)置?

在gdb中最簡單的設(shè)置方式是:break 行號(hào)?在這一行設(shè)置斷點(diǎn)。比如break 9 會(huì)在代碼的第9行設(shè)置斷點(diǎn)。當(dāng)程序執(zhí)行到第9行會(huì)自動(dòng)暫停,此時(shí),第9行代碼還未執(zhí)行。

你也可以使用:break 函數(shù)名?的方式在某個(gè)函數(shù)處設(shè)置斷點(diǎn),程序運(yùn)行到這個(gè)函數(shù)內(nèi)的第一條語句處會(huì)自動(dòng)暫停。

你也可以這樣設(shè)置斷點(diǎn):break 行號(hào)或函數(shù)名 if 條件?。它很好理解,當(dāng)滿足if條件語句時(shí)才會(huì)在指定的行號(hào)或者函數(shù)名處斷點(diǎn)。

6.我發(fā)現(xiàn)我把斷點(diǎn)設(shè)置錯(cuò)了,如何消除斷點(diǎn)?

使用命令:clear 行號(hào)?即可刪除。

7.我已經(jīng)成功設(shè)置了斷點(diǎn),可是我如何運(yùn)行程序以便讓它在斷點(diǎn)處暫停?

輸入:run?即可。程序自動(dòng)停止在第一個(gè)斷點(diǎn)處。

8.我的程序運(yùn)行的時(shí)候需要加參數(shù),我還能繼續(xù)使用run命令運(yùn)行程序嗎?

當(dāng)然可以,只不過你要在run后加上你的參數(shù),參數(shù)間用空格隔開。如:run 參數(shù)1 參數(shù)2??…..

9.有時(shí)候我并不確定程序具體哪一句有問題,我如何一步一步的查看語句?

兩種命令:next和step。兩者均可以一句一句的查看語句。但不同的是,next命令將函數(shù)調(diào)用看作一條語句,而step則會(huì)進(jìn)入函數(shù),一步步的執(zhí)行函數(shù)內(nèi)的代碼。

10.如何讓暫停的代碼繼續(xù)運(yùn)行?

輸入命令:continue。它可以讓程序繼續(xù)運(yùn)行,直到程序運(yùn)行完畢或者遇到下一個(gè)斷點(diǎn)為止。

11.當(dāng)程序在斷點(diǎn)處暫停執(zhí)行時(shí),如何查看當(dāng)前變量的值?

使用print命令。具體如下:

print 命令或者表達(dá)式:顯示變量或表達(dá)式的值。

print 變量=值:為變量賦值。

以上命令屬于基本的調(diào)試命令,更多的命令可以參考man手冊。

熟悉以上命令便可以快速入門gdb,要熟練的使用調(diào)試器,還需要多多使用。

參考資料:人民郵電出版社 《Linux C編程實(shí)戰(zhàn)》 董永清

轉(zhuǎn)載于:https://www.cnblogs.com/yuphone/archive/2011/03/29/1998322.html

總結(jié)

以上是生活随笔為你收集整理的[转载].gdb调试器快速入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。