05gdb入門(上)

來源:互聯網
上載者:User

標籤:io   strong   檔案   for   ar   代碼   on   sp   

n  基本架構:

a)         Gdb功能

b)         運行程式

c)         查看源碼

d)         設定斷點(break)與觀察點(watch)

e)         單步調試

f)          Gdb常用命令總結

 

5.1        gdb功能

1)啟動程式:

Run(r),另外啟動程式的時候還可以帶上參數(argv[1],argv[2]……)

2)    設定斷點:

設定斷點:break(b)  +行號/函數名

           另外設定斷點的時候還可以用條件運算式(if)

             刪除斷點:delete(d) + 斷點號

             查看斷點:info break(i b)

3)      查看變數資訊:

              Print  查看變數值

Ptype  查看變數類型

4)  動態改變程式的執行環境:

              Print  變數=value     動態改變程式運行時變數的值

 

5.2  運行程式

1)      run(r)  運行程式

2) run   + arg1  arg2…… (參數列表)

 

5.3  查看源碼

1)      list(l)  查看最近10行源碼

          l  2,10  查看第2行到第10行的源碼

          l   ,15  查看最多到第15行的源碼

2)  list +fun(函數名)       查看fun函數源碼

3)  list +file:fun        查看file檔案中的fun函數源碼

4) list +file:15         查看file檔案中的第15行左右的源碼

 

5.4  設定斷點(break)與觀察點(watch)

1)      break  行號

2)  break  函數名

3)  break  file:行號

4)  break  file:函數名

5)  break  if <condition>      條件成立時程式停住

6) info    break(i b)         查看斷點

7)  watch   expr             一旦expr值發生改變,程式就停住

8) delete   +斷點編號       刪除斷點

 

5.5  單步調試

1)  continue(c)       運行至下一個斷點

2)  step(s)          單步跟蹤,進入函數,類似於VC中的step  in

3)      next(n)               單步跟蹤,不進入函數,類似於VC中的step  out

4)      finish                  運行程式,直到當前函數返回,並輸出函數的傳回值。

5)  until                    退出迴圈體(for)

 

5.6  gdb常用命令總結

Run(r)                  運行程式

List(l)                   列出原始碼

Break(b)              設定斷點

Info break(i b)             查看斷點資訊

Continue(c)                   繼續運行程式,直到下一個斷點

Watch                       設定觀察點,一旦觀察值發生改變,程式就停住

Step(s)                           單步跟蹤,進入函數,類似於VC中的step  in

Next(n)                          單步跟蹤,不進入函數,類似於VC中的step  out

Finish                        退出函數,並輸出函數的傳回值。

Until(u)                     退出迴圈體

Print(p)                     查看變數值

 

l  一些細節知識:

1.在gdb調試過程中按Enter鍵代表重複執行上條命令;

2.幾個退出命令的比較:

Until 退出迴圈(for)

Finish 退出函數

q    退出gdb

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.