• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            gdb command! (轉)

            Posted on 2008-06-14 13:37 T.S Liu 閱讀(1581) 評論(0)  編輯 收藏 引用 所屬分類: ubuntu
            1.what is gdb?
            一個調試器,能讓你觀察到正在運行的程序的某個變量的值,和gcc, emacs組成構建起整個gnu system的3劍客。

            2.How it work?
            首先要安裝,然后就可以 gdb application,進入gdb模式,執行(run)啟動例程。(list-顯示源碼)

            3.一個優點
            GDB的函數調用是緩式的,也就是說只有當變量真正需要時才會被計算。
            int c = add(1,1)
            printf("%d",c);

            gdb-->run-->print c -1222342. c的值直到打印的時候才會被計算。(這里可能有個開關來控制緩式計算)

            4.一個前提
            gcc 的時候加上 -g 或者 -ggdb,主要是生成供調試使用的某些信息。(emacs好像默認是關閉這個選項)

            5.存在圖形調試界面

            6.輸入help可以查看幫助
            help,會顯示命令的分類,help 類名

            7.how use?
            debug 3 program yourself.

            8.常用命令(From:http://my.donews.com/tangfl/2006/10/23/gdb-debug-example/)
              break NUM 在指定的行上設置斷點。
              bt 顯示所有的調用棧幀。該命令可用來顯示函數的調用順序。
              clear 刪除設置在特定源文件、特定行上的斷點。其用法為clear FILENAME:NUM
              continue 繼續執行正在調試的程序。該命令用在程序由于處理信號或斷點而 導致停止運行時。
              display EXPR 每次程序停止后顯示表達式的值。表達式由程序定義的變量組成。
              file FILE 裝載指定的可執行文件進行調試。
              help NAME 顯示指定命令的幫助信息。
              info break 顯示當前斷點清單,包括到達斷點處的次數等。
              info files 顯示被調試文件的詳細信息。
              info func 顯示所有的函數名稱。
              info local 顯示當函數中的局部變量信息。
              info prog 顯示被調試程序的執行狀態。
              info var 顯示所有的全局和靜態變量名稱。
              kill 終止正被調試的程序。
              list 顯示源代碼段。
              make 在不退出 gdb 的情況下運行 make 工具。
              next 在不單步執行進入其他函數的情況下,向前執行一行源代碼。
              print EXPR 顯示表達式 EXPR 的值。
            backtrace 顯示程序中的當前位置和表示如何到達當前位置的棧跟蹤(同義詞:where)
            breakpoint 在程序中設置一個斷點
            cd 改變當前工作目錄
            clear 刪除剛才停止處的斷點
            commands 命中斷點時,列出將要執行的命令
            continue 從斷點開始繼續執行
            delete 刪除一個斷點或監測點;也可與其他命令一起使用
            display 程序停止時顯示變量和表達時
            down 下移棧幀,使得另一個函數成為當前函數
            frame 選擇下一條continue命令的幀
            info 顯示與該程序有關的各種信息
            jump 在源程序中的另一點開始運行
            kill 異常終止在gdb 控制下運行的程序
            list 列出相應于正在執行的程序的原文件內容
            next 執行下一個源程序行,從而執行其整體中的一個函數
            print 顯示變量或表達式的值
            pwd 顯示當前工作目錄
            pype 顯示一個數據結構(如一個結構或C++類)的內容
            quit 退出gdb
            reverse-search 在源文件中反向搜索正規表達式
            run 執行該程序
            search 在源文件中搜索正規表達式
            set variable 給變量賦值
            signal 將一個信號發送到正在運行的進程
            step 執行下一個源程序行,必要時進入下一個函數
            undisplay display命令的反命令,不要顯示表達式
            until 結束當前循環
            up 上移棧幀,使另一函數成為當前函數
            watch 在程序中設置一個監測點(即數據斷點)
            whatis 顯示變量或函數類型
            亚洲精品视频久久久| 91久久精品电影| 亚洲午夜久久久久久久久电影网 | 无码久久精品国产亚洲Av影片 | 亚洲日本va中文字幕久久| 漂亮人妻被黑人久久精品| 色综合久久最新中文字幕| 天堂无码久久综合东京热| 无码人妻精品一区二区三区久久| 久久99精品久久久久久| 亚洲七七久久精品中文国产| 99久久中文字幕| 亚洲精品国精品久久99热| 97r久久精品国产99国产精| 久久综合九色综合久99| 99国产欧美久久久精品蜜芽| 久久亚洲中文字幕精品一区| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 狠狠色伊人久久精品综合网 | 久久成人国产精品| 亚洲精品WWW久久久久久| 97久久超碰国产精品旧版| 久久久亚洲裙底偷窥综合| 狠狠色伊人久久精品综合网| 精品综合久久久久久97超人 | 久久精品国产乱子伦| 久久久久一本毛久久久| 91精品久久久久久无码| 国产一久久香蕉国产线看观看| 狠狠色噜噜色狠狠狠综合久久| 免费一级做a爰片久久毛片潮| 色综合久久88色综合天天| 97久久久精品综合88久久| 精品久久久久久无码专区| 色综合久久久久无码专区| 久久亚洲国产精品成人AV秋霞| 亚洲欧美成人久久综合中文网| 精品人妻伦九区久久AAA片69| 久久99久久成人免费播放| 久久精品国产99国产精品| 看全色黄大色大片免费久久久|