gdb 簡單使用

如果讓我用最簡單的話形容一下高gdb, 那我覺得“強大”兩個字就足矣了。廢話少說,上乾貨。

在應用層開發程序,有很多調試工具可以選擇,各種環境有各自的工具幫助開發人員定位問題以解決問題,但在linux中,尤其是嵌入式開發中,gdb 就是比較出名的調試工具了,爲什麼呢,因爲它強大嘛!

gdb簡介:
最牛逼的UNIX下的程序調試工具,沒有之一。可以動態改變程序運行環境,能夠隨心所欲的控制程序的運行及查看程序的一切,對,就是一切。
通過gdb命令行,我們可以查看文件清單,管理斷點,查看數據,變量檢查賦值,單步執行等各種各樣的功能。

要注意說明的是,gdb使用的前提是,在貶義的時候一定要在編譯選項中使用 -g 參數。

命令簡介:
gdb通過一些列指令來實現其功能,下面介紹一些常用的gdb指令。

  1. list 查看源代碼
    list xxx 查看第xxx行的代碼
    list +n 查看當前行的後面n行代碼
    list - n 查看當前行的前面n行代碼
    list function 查看function函數的代碼
  2. 運行程序
    gdb binFile 加載binFile二進制文件
    set args 設置運行參數
    r (run) 運行該二進制文件
  3. 顯示數據
    p (print) vals 打印變量vals的值
    p *vals 查看其他複雜變量的值, 包括數組,指針等
    whatis val 查看val變量的類型
  4. 斷點管理
    b (break) lineNum 在第lineNum處設置斷點
    b functionname 在函數functionName處設置斷點
    b filename:line-numbe 在某個文件的特定行設置斷點
    b line-or-function if expr 通過條件變量設置斷點 eg:b 123 if val == 2
    info break 查看所有的斷點信息
    delete breakpoint 刪除所有斷點
    delete breakpoint 1 刪除斷點1
    disable breakpoint 1 過濾斷點1
    enable breakpoint 1 使能斷點1
  5. 函數執行
    n (next) 單步執行該程序

一般來說,作爲程序開發人員來說,我們使用最多的就是斷點設置以及變量查看功能,至於其他基礎功能,只是更好的爲這兩個基本功能增強而已。

這個工具只是幫助開發人員定位非語法問題而已。入門比較簡單,如果想用到其強大的功能,可以參考一下其他資料,加深一下學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章