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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gdb调试命令

發布時間:2025/4/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gdb调试命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:http://blog.csdn.net/hanchaoman/article/details/5517362

一、GDB常用命令簡介

?

rrun運行.程序還沒有運行前使用
c????????????cuntinue??運行到下一斷點處
qquit???????????????????????退出
tabtab命令補全功能
h???help幫助gdb調試命令
sstep跟入函數
nnext執行下一行的代碼。如果是函數調用,也當作一行代碼,執行到此函數返回
b???breakpoint

設置斷點,用法:(1)b?函數名?(2)b?文件名:行號

info?binfo breakpoints查看斷點數
deldelete刪除斷點:delete 斷點號
l?list列出代碼行。一次列10 行。 也可在 list 后面跟上 文件名:行號
watchwatch觀察一個變量的值。每次中斷時都會顯示這個變量的值
whatwhat顯示變量的類型
pprint打印一個變量的值。print 也可改變一個值,通過指令 p b = 100,變量b 的值就變成100了
startstart從主函數 main 開始運行調試
finfinish運行直至當前函數返回

?

二、GDB命令詳解

和所有常用的調試工具一樣,gdb提供了以下功能:
 #?監視程序中變量的值
 #?在程序中設置斷點
 #?程序的單步執行

在使用gdb前,必須先載入可執行文件,因為要進行調試,文件中就必須包含調試信息,所以在用gcc或cc編譯時就需要用-g參數來打開程序的調試選項。

調試開始時,必須先載入要進行調試的程序,可以用以下兩種方式:
 *?在啟動gdb后執行以下命令:
   file?可執行文件路徑
 *?在gdb啟動時就載入程序:
   gdb?可執行文件路徑

載入程序后,接下來就是要進行斷點的設置,要監視的變量的添加等工作,下面對在這個過程中常會用到的命令逐一進行介紹:
 *?list?:顯示程序中的代碼,常用使用格式有:
    list
      輸出從上次調用list命令開始往后的10行程序代碼。
    list -
      輸出從上次調用list命令開始往前的10行程序代碼。
    list n
      輸出第n行附近的10行程序代碼。
    list function
      輸出函數function前后的10行程序代碼。
 *?forward/search?:從當前行向后查找匹配某個字符串的程序行。使用格式:
    forward/search?字符串
  查找到的行號將保存在$_變量中,可以用print $_命令來查看。
 *?reverse-search?:和forward/search相反,向前查找字符串。使用格式同上。
 *?break?:在程序中設置斷點,當程序運行到指定行上時,會暫停執行。使用格式:
    break?要設置斷點的行號
 *?tbreak?:設置臨時斷點,在設置之后只起作用一次。使用格式:
    tbreak?要設置臨時斷點的行號
 *?clear?:和break相反,clear用于清除斷點。使用格式:
    clear?要清除的斷點所在的行號
 *?run?:啟動程序,在run后面帶上參數可以傳遞給正在調試的程序。
 *?awatch?:用來增加一個觀察點(add watch),使用格式:
    awatch?變量或表達式
  當表達式的值發生改變或表達式的值被讀取時,程序就會停止運行。
 *?watch?:與awatch類似用來設置觀察點,但程序只有當表達式的值發生改變時才會停止運行。使用格?式:
    watch?變量或表達式
  需要注意的是,awatch和watch都必須在程序運行的過程中設置觀察點,即可運行run之后才能設置。
 *?commands?:設置在遇到斷點后執行特定的指令。使用格式有:
    commands
      設置遇到最后一個遇到的斷點時要執行的命令
    commands n
      設置遇到斷點號n時要執行的命令
  注意,commands后面跟的是斷點號,而不是斷點所在的行號。
  在輸入命令后,就可以輸入遇到斷點后要執行的命令,每行一條命令,在輸入最后一條命令后輸入end就可以結束輸入。
 *?delete?:清除斷點或自動顯示的表達式。使用格式:
    delete?斷點號
 *?disable?:讓指定斷點失效。使用格式:
    disable?斷點號列表
  斷點號之間用空格間隔開。
 *?enable?:和disable相反,恢復失效的斷點。使用格式:
    enable?斷點編號列表
 *?ignore?:忽略斷點。使用格式:
    ignore?斷點號?忽略次數
 *?condition?:設置斷點在一定條件下才能生效。使用格式:
    condition?斷點號?條件表達式
 *?cont/continue?:使程序在暫停在斷點之后繼續運行。使用格式:
    cont
      跳過當前斷點繼續運行。
    cont n
      跳過n次斷點,繼續運行。
  當n為1時,cont 1即為cont。
 *?jump?:讓程序跳到指定行開始調試。使用格式:
    jump?行號
 *?next?:繼續執行語句,但是跳過子程序的調用。使用格式:
    next
      執行一條語句
    next n
      執行n條語句
 *?nexti?:單步執行語句,但和next不同的是,它會跟蹤到子程序的內部,但不打印出子程序內部的語句。使用格式同上。
 *?step?:與next類似,但是它會跟蹤到子程序的內部,而且會顯示子程序內部的執行情況。使用格式同上。
 *?stepi?:與step類似,但是比step更詳細,是nexti和step的結合。使用格式同上。
 *?whatis?:顯示某個變量或表達式的數據類型。使用格式:
    whatis?變量或表達式
 *?ptype?:和whatis類似,用于顯示數據類型,但是它還可以顯示typedef定義的類型等。使用格式:
    ptype?變量或表達式
 *?set?:設置程序中變量的值。使用格式:
    set?變量=表達式
    set?變量:=表達式
 *?display?:增加要顯示值的表達式。使用格式:
    display?表達式
 *?info display?:顯示當前所有的要顯示值的表達式。
 *?delete display/undisplay?:刪除要顯示值的表達式。使用格式:
    delete display/undisplay?表達式編號
 *?disable display?:暫時不顯示一個要表達式的值。使用格式:
    disable display?表達式編號
 *?enable display?:與disable display相反,使用表達式恢復顯示。使用格式:
    enable display?表達式編號
 *?print?:打印變量或表達式的值。使用格式:
    print?變量或表達式
  表達式中有兩個符號有特殊含義:$和$$。
  $表示給定序號的前一個序號,$$表示給定序號的前兩個序號。
  如果$和$$后面不帶數字,則給定序號為當前序號。
 *?backtrace?:打印指定個數的棧幀(stack frame)。使用格式:
    backtrace?棧幀個數
 *?frame?:打印棧幀。使用格式:
    frame?棧幀號
 *?info frame?:顯示當前棧幀的詳細信息。
 *?select-frame?:選擇棧幀,選擇后可以用info frame來顯示棧幀信息。使用格式:
    select-frame?棧幀號
 *?kill?:結束當前程序的調試。
 *?quit?:退出gdb。

如要查看所有的gdb命令,可以在gdb下鍵入兩次Tab(制表符),運行“help command”可以查看命令command的詳細使用格式。
本文僅對使用gdb調試過程中的一些常用指令的用法進行簡單地總結,如要獲取關于gdb的更詳細的資料,請參閱gdb的官方文檔:

?

?

轉載于:https://www.cnblogs.com/gladsomeboy/p/4067837.html

總結

以上是生活随笔為你收集整理的gdb调试命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品中文字幕在线 | 极品女神无套呻吟啪啪 | 色婷婷97 | 手机成人av在线 | 亚洲一区二区电影 | 色偷偷av | 三级大片在线观看 | 理论片在线观看理伦片 | www狠狠| 免费观看毛片 | 99精品乱码国产在线观看 | 成人性生交大片免费看中文 | 人与动物毛片 | av影片在线观看 | 噜噜噜久久久 | 精品国产鲁一鲁一区二区三区 | 黄色在线视频观看 | 婷婷中文字幕 | 中国女人和老外的毛片 | 毛片高清免费 | 热久久伊人 | 成人免费超碰 | 波多野一区二区三区 | 欧美肥老妇视频九色 | 久久福利免费视频 | 色综合婷婷 | 欧美最顶级a∨艳星 | 日韩中文字幕视频在线 | 午夜天堂影院 | 亚洲综合另类小说 | xxxx色| 中国亚洲女人69内射少妇 | 自拍偷拍1| 涩涩爱影院| 一区二区在线视频免费观看 | 91成人在线看 | 国产l精品国产亚洲区久久 午夜青青草 | 欧美日本韩国一区二区 | 亚洲天堂视频在线观看 | 1769国产精品视频 | 天天干天天爽天天操 | av解说在线 | 樱桃成人精品视频在线播放 | 波多野结衣一区二区三区中文字幕 | 色五丁香| 日韩高清专区 | 超碰免费看 | 五月天综合激情 | 中文二区| 亚洲天堂黄| 欧美日韩在线视频播放 | 香蕉成人av | 亚洲精品高清视频 | 欧美一级片在线播放 | 老头糟蹋新婚少妇系列小说 | 国产αv| 成人a视频在线观看 | 国产成人精品999在线观看 | 91在线看黄| 一区av在线| jjzz日本女人 | 美国一级大黄一片免费中文 | 一区二区高清 | 成都4电影免费高清 | 久久亚洲一区 | 日韩中文字幕免费观看 | 搞黄视频在线观看 | 深夜激情网站 | 国产午夜福利100集发布 | 狠狠网| 天天看夜夜看 | 日韩av视屏 | 公肉吊粗大爽色翁浪妇视频 | 精品国产二区三区 | 亚洲一区在线免费观看 | 欧美日韩色 | 东北女人av | av激情小说| 综合一区在线 | 欧美俄罗斯乱妇 | 91综合网 | 国产麻豆精品在线观看 | 男人天堂综合网 | 中文字幕亚洲无线码在线一区 | 一本色道综合久久欧美日韩精品 | 尤物视频在线观看国产 | 久久国产影视 | 亚洲成人激情av | 日本少妇aaa | 香蕉亚洲 | 中文字幕精品一区二区精品 | 黑鬼大战白妞高潮喷白浆 | 98视频在线| 亚洲一区二区三区电影 | 欧美日韩午夜爽爽 | 91插插插视频 | 精品成人| 日日碰狠狠添天天爽无码av | 91精品国产乱码在线观看 |