chap2 初識 GDB

1. GDB 相關(guān)概念

  • GDB, The GNU Project Debugger, 是 Linux 下功能全面的調(diào)試工具。
  • GDB 支持?jǐn)帱c、單步執(zhí)行、打印變量、觀察變量、查看寄存器、查看堆棧等調(diào)試手段
  • GDB 主要用來調(diào)試 C 和 C++ 程序

2. GDB 的進入和退出

  • gcc 構(gòu)建可執(zhí)行程序時加上 -g 參數(shù)

    $ gcc -g -obugging bugging.c -m32

    -o 指定輸出文件名, -m32 構(gòu)建32位可執(zhí)行程序

  • 輸入 gdb program 進入 gdb

    $ gdb bugging

  • 在 gdb 命令行界面,輸入run 執(zhí)行待調(diào)試程序

    (gdb) run

  • 在 gdb 命令行界面,輸入quit 退出 gdb

    (gdb) quit

3. GDB 命令行界面使用技巧

  • 命令補全

    任何時候都可以使用 TAB 進行補全,如果只有一個待選選項則直接補全;否則會列出可選選項,繼續(xù)鍵入命令,同時結(jié)合 TAB 即可

  • 部分 gdb 常用命令一覽表

命令 簡寫形式 說明
list l 查看源碼
backtrace bt、where 打印函數(shù)棧信息
next n 執(zhí)行下一行
step s 一次執(zhí)行一行,遇到函數(shù)會進入
finish 運行到函數(shù)結(jié)束
continue c 繼續(xù)運行
break b 設(shè)置斷點
info breakpoints 顯示斷點信息
delete d 刪除斷點
print p 打印表達式的值
run r 啟動程序
until u 執(zhí)行到指定行
info i 顯示信息
help h 幫助信息

使用 (gdb) help command 可以查看命令的用法

  • 執(zhí)行 Shell 命令

    (gdb) !shell 命令

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 程序調(diào)試的基本思想是“分析現(xiàn)象->假設(shè)錯誤原因->產(chǎn)生新的現(xiàn)象去驗證假設(shè)”這樣一個循環(huán)過程,根據(jù)現(xiàn)象如何假設(shè)錯誤原...
    Manfred_Zone閱讀 16,568評論 0 26
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 99,467評論 9 467
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,820評論 25 708
  • Ansible 安裝:apt-get install python-crypto python-lxml pipp...
    Jackzzg閱讀 1,726評論 0 3
  • 回到家,雖然身體已是疲憊不堪,但這倆天收獲的讓自己對接下來的工作充滿了激動。 接下來, 分類整理這些材料, 根據(jù)客...
    王德彪閱讀 176評論 0 0