亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學習啦>學習電腦>操作系統(tǒng)>Linux教程>

      gdb基本使用方法及常用命令

      時間: 志藝942 分享

        GNU調(diào)試器(GNU Debugger, GDB)是一個開源的源代碼級的調(diào)試工具,其性能優(yōu)良、功能齊全、易于使用,在嵌入式系統(tǒng)開發(fā)過程中扮演著越來越重要的角色。接下來是小編為大家收集的gdb基本使用方法及常用命令,希望能幫到大家。

        gdb基本使用方法及常用命令

        一、編譯、鏈接成可執(zhí)行文件

        記得加入-g選項

        gcc -g gdbtest.c -o test

        二、啟動gdb

        gdb filename ---- 本例中是gdb test,如下圖:

        或者

        gdb

        (gdb)file filename,如下圖:

        三、退出

        (gdb)quit

        四、基本操作

        (1)列出源代碼list,在提示符下打入list,會出現(xiàn)一部分源代碼,接著按回車會重復上一次命令

        可以利用help list查詢list的使用方法

        a.list 10 -- 以第10行為中心顯示

        b.顯示compute函數(shù) list compute

        c.列出10-15行的源代碼 list 10,15

        d.列出其他文件的相應行或函數(shù)

        list gdbinc.h:1

        list gdbinc.h:max

        (2)運行程序run

        如果需要參數(shù)可以在run后面跟上參數(shù)

        (3)設(shè)置斷點break

        a.在某行設(shè)置斷點 break 7

        b.在某函數(shù)設(shè)置斷點 break compute

        c.在其他文件設(shè)置斷點(行或函數(shù)名) break gdbinc.h:2 break gdbinc.h:max

        d.在某個地址設(shè)置斷點 break *address (當你調(diào)試的程序沒有源程序時使用)

        e.查詢斷點信息info break

        f.條件斷點 break <linenum>or<func> if condition

        如:break 8 if a == 10

        g.開啟和關(guān)閉斷點

        disable 斷點號 (關(guān)閉)

        enable 斷點號 (開啟)

        enable once 斷點號 (開啟一次)

        enable delete 斷點號(開啟一次后刪除)

        h.刪除斷點

        delete 斷點號

        clear 清除當前行的斷點

        i.繼續(xù)執(zhí)行continue,當執(zhí)行到某處中斷時,使其繼續(xù)執(zhí)行

        (4)單步執(zhí)行不進入函數(shù)next

        (5)單步執(zhí)行進入函數(shù)step

        (6)終止正在調(diào)試的程序kill

      (7)監(jiān)視值變動watch expression(當你運行run后,你想知道哪些值在運行中被改變了,可以設(shè)置此)

        (8)監(jiān)視值被讀rwatch expression(基本同上)

        (9)在運行時打印變量的值print expression

        print/F expression,其中F為格式(x--16進制,d--有符號十進制,u--無符號十進制,f--浮點格式)

        (10)修改變量值set variable=value

        (11)執(zhí)行shell命令[shell 命令名]

        (12)不退出gdb產(chǎn)生可執(zhí)行文件[make,必須有Makefile文件]

        (13)info命令(此命令用處廣泛)

        a.info break查看斷點信息(見上面斷點)

        b.info args查看當前方法的參數(shù)

        c.info stack查看調(diào)用堆棧

        d.info source查看當前源文件的信息

        e.info sources查看所有在程序中的源文件路徑

        (14)查看內(nèi)存命令 x/<n/f/u> <addr> n、f、u是可選的參數(shù)。<addr>表示一個內(nèi)存地址。

        n 是一個正整數(shù),表示顯示內(nèi)存的長度,也就是說從當前地址向后顯示幾個地址的內(nèi)容。

        f 表示顯示的格式,參見上面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。

        u 表示從當前地址往后請求的字節(jié)數(shù),如果不指定的話,GDB默認是4個bytes。u參數(shù)可以用下面的字符來代替,b表示單字節(jié),h表示雙字節(jié),w表示四字節(jié),g表示八字節(jié)。當我們指定了字節(jié)長度后,GDB會從指內(nèi)存定的內(nèi)存地址開始,讀寫指定字節(jié),并把其當作一個值取出來。

        輸出格式

        一般來說,GDB會根據(jù)變量的類型輸出變量的值。但你也可以自定義GDB的輸出的格式。例如,你想輸出一個整數(shù)的十六進制,或是二進制來查看這個整型變量的中的位的情況。要做到這樣,你可以使用GDB的數(shù)據(jù)顯示格式:

        x 按十六進制格式顯示變量。

        d 按十進制格式顯示變量。

        u 按十六進制格式顯示無符號整型。

        o 按八進制格式顯示變量。

        t 按二進制格式顯示變量。

        a 按十六進制格式顯示變量。

        c 按字符格式顯示變量。

        f 按浮點數(shù)格式顯示變量。

        比如:上圖中 x/4dw 0xbffff650 指的是顯示4個單元的內(nèi)容,以10進制顯示,每個單元長度為4個字節(jié)


      看了“gdb基本使用方法及常用命令”還想看:

      1.2014年9月計算機二級Access無紙化預測選擇題

      2.c語言函數(shù)調(diào)用過程

      3.嵌入式培訓心得

      4.簡潔的英語簡歷范文模板

      2805467