• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦 > 學習電腦 > 操作系統 > Linux教程 > Linux GDB常用命令介紹

    Linux GDB常用命令介紹

    時間: 志藝942 分享

    Linux GDB常用命令介紹

      你還在為不知道Linux GDB常用命令介紹而煩惱么?接下來是小編為大家收集的Linux GDB常用命令介紹,希望能幫到大家。

      Linux GDB常用命令介紹

      1.啟動和退出gdb

      (1)啟動:gdb ***:顯示一段版權說明; (*** 表示可執行程序名)

      (2)退出:quit。有的時候輸入quit后會出現相關提示:類似于“(y/n)”,輸入y

      2.顯示和查找程序源代碼

      (1)list :顯示10行代碼,但是我為什么沒有顯示成功呢?

      (2)list 5,10:顯示源文件第五行到第十行的代碼

      (3)list t4.c:5,10:顯示源文件中第五行到第十行的代碼,在跳是含有多個源文件的次序時使用;

      (4)list get_sum:顯示get_sum函數周圍的代碼//什么叫周圍的代碼呢?

      (5)list t4.c :get_sum:顯示源文件t4.c中第五行到第十行的代碼,在跳是含有多個源文件的次序時使用;

      (6)如果在調試中運行linux命令,則可以在gdb的提示符下輸入shell命令. (gdb)shell ls

      (7)search forward用來從當前行向前查找第一個匹配的字符串;

      search get_sum forward get_sum

      (8)reverse_search 用來從當前行想前查找第一個匹配的字符串: Example: reverse_search main

      3.執行程序和獲得幫助;

      gdb -q test 或者file test只是裝入程序,程序并沒有運行。如果要程序開始運行,在gdb提示符下輸入run即可。

      如果想要詳細了解gdb某個命令的使用方法,可以用help 命令 Example:(gdb)help list (gdb)help all

      4.設置和管理斷點

      (1)以行號設置斷點:(gdb)break 7

      (2)以函數名設置斷點:(gdb)break get_sum

      (3)以條件表達式設置斷點:方法一:break 行號或者函數名 if 條件. Example: (gdb)break 7 if i==99

      方法二:watch 條件表達式,下面是具體的舉例:

      方法三:awatch;用來給表達式設置斷點,在表達式的值發生改變或者表達式的值杯讀取的時候,程序暫時停止;

      (4).查看當前設置的斷點:info breakpoints

      Num Type Disp Enb Address What

      解釋:Num列表示斷點的編號,Type指明類型,類型位breakpoints說明是中斷。Disp指示中斷點在生效一次后是否就失去作用,如果是則為dis,不時則為keep。     Bnb表明當前中斷點是否有效,如果是y,不是則為n。Address列表中斷所處的內存地址。What列出中斷發生在哪個函數的第幾行。

      5.使斷點失效或者有效

      使用“disable 斷點編號”命令可以是某個斷點失效,程序運行到該段點時不會停下來而是繼續運行。

      使用“enable 斷點編號”命令可以是某個斷點恢復有效。

      6.刪除斷點

      disable只是讓某個斷點暫時失效,斷點依然存在與程序中。如果要徹底的刪除某個斷點,可以使用clear或者delete命令。

      (1)clear:刪除程序中所有的斷點;

      (2)clear 行號:刪除此行中的斷點

      (3)clear 函數名:刪除該函數的斷點

      (4)delete 斷點編號:刪除指定編號的斷點。如果一次要刪除多個斷點,各個斷點編號以空格隔開。

      7.查看和設置變量的值

      (1)print 變量或表達式 --- print 變量=值:對變量賦值 --- print 表達式@要打印的值的個數n:打印以表達式值開始n個數

      (2)whatis命令:顯示某個變量或表達式的數據類型。格式:whatis 變量或者表達式

      (3)set 命令:給變量賦值,格式:set variable 變量=值

      將上面實例中的print i=200改為set variable i=200可以得到同樣的效果//這個不懂矮。。

      除了這個用法外,set命令還有一些其他用法。比如可以針對遠程調試進行設置,可以用來設置gdb一行的字符數等。

      8.控制程序的執行

      (1)continue命令:讓程序繼續運行,直到下一個斷點或者運行完為止。格式:continue

      (2)kill命令:用于結束當前程序的調試

      (3)next和step命令

      區別:如果遇到函數,next會把函數調用當作一條語句來執行,再次輸入next會執行函數調用后的語句;

      而step則會跟蹤進入函數,一次一條的執行函數內的代碼,直到函數內的代碼執行完,在進行函數調用后的語句;

      (4)nexti和stepi命令:用來單步執行一條機器指令,注意不是單步執行一條魚據。單步執行一條語句使用next和step命令。通常一條語句有多條機器指令構成的。

      注意的是:gdb的一些命令可以簡寫,比如list可以用li來代替,continue命令可以用cont來代替。

      9. Linux GDB命令與Visual Studio Debug下命令對比:

      Linux windows

      進入調試   gdb *.exe F5

      quit

      增加/取消斷點 break LineNumber   F9

      clear LineNumber

      單步運行        next F10

      step F11

      開始調試運行      run F5

      運行到下一個斷點    continue F5

      結束調試        kill shift+F5


    看了“Linux GDB常用命令介紹”還想看:

    1.Linux系統有什么常用命令

    2.Linux安全性能檢查常用命令介紹

    3.Linux實用工具的命令行詳解

    4.Linux GCC常用命令詳解

    5.CMD命令提示符詳細知識

    2805121 主站蜘蛛池模板: 性欧美午夜高清在线观看| 成人无码A级毛片免费| 亚洲熟女综合色一区二区三区| 色妞www精品视频免费看| 国产精品欧美成人| caoporn地址| 成人试看120秒体验区| 久久精品视频91| 男人j进入女人j内部免费网站| 国产免费av片在线播放| 2019中文字幕在线电影免费| 女人扒开屁股桶爽30分钟| 国产精品单位女同事在线| 国产精品无码素人福利不卡| 大学生久久香蕉国产线看观看| 在线免费观看视频你懂的| 亚洲av成人无码久久精品老人| 浪货一天不做就难受呀| 国产精品久久久久久久久kt | 日本SM极度另类视频| 亚洲午夜电影在线观看| 狠狠热精品免费观看| 啊灬啊灬啊快日出水了| 高清性色生活片97| 国产精品美女流白浆视频| a级毛片高清免费视频| 成人免费看www网址入口| 久久精品国产69国产精品亚洲| 污污小视频在线观看| 免费精品99久久国产综合精品 | 天天综合网天天综合色| 中文亚洲成a人片在线观看| 日本高清xxxx| 亚洲av最新在线网址| 欧美日韩国产另类在线观看| 国产麻豆剧传媒精品国产AV| 一本一本久久a久久综合精品蜜桃| 欧美高清在线精品一区二区不卡 | 国模丽丽啪啪一区二区| 亚洲成人午夜电影| 浮力影院亚洲国产第一页|