国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

使用GDB調試程序

2024-06-28 13:19:46
字體:
來源:轉載
供稿:網友
使用GDB調試程序

  GDB(GNU Debuger)是linux中的一個功能強大的調試器。GDB可以讓你查看程序的內部結構,打印變量值,設置斷點,單步調試源碼,運行時修改變量值,路徑跟蹤,線程切換,顯示匯編代碼等。

編譯

  要使用GDB進行調試,在編譯程序時需要加入-g選項。當設置了這個選項后,GCC會向程序中加入調試信息“楔子”,GDB能用利用這些楔子與程序交互。

    gcc -g myfile.c -o myfile_debug
調試
  1. 加載程序 可以使用gdb PRogram的方式,或者在GDB啟動后用file program的方法啟動。
  2. 設置輸入參數及顯示 set args命令設置發送給程序的參數;show args命令顯示其默認的參數。
  3. 打印代碼內容 list line1,line2 打印代碼,不輸入參數則從當前行打印。打印數據用print
  4. 斷點 設置斷點:1. break 行號;2. break 函數名稱;3. break 行號或者函數if條件:這是一個條件斷點設置命令,如果條件為真,則程序在到達指定行或函數時停止。如b 38 if i==2 顯示斷點信息:info break 刪除指定的某個斷點:delete breakpoint 斷點編號。 如果不帶編號參數,將刪除所有斷點 禁止斷點:disable breakpoint 斷點編號 允許斷點:enable breakpoint 斷點編號 清除斷點:clear 源代碼行號。 一次性清除直接clear
  5. 運行程序 使用run命令運行準備好的程序,在它后面是傳遞給程序的參數。如果使用不帶參數的run命令,GDB就再次使用前一條run命令的參數。
  6. 檢測變量類型 打印數組或變量的類型:whatis 變量名 查看結構的詳細定義用ptype 變量名
  7. 單步調試 單步調試用next或step命令,step可進入函數體內部。如果已經進入函數內部,想退出函數的運行返回到調用函數中,可使用命令finish。
  8. 設置檢測點 命令display可以顯示某個變量的值,在結束或者遇到斷點的時候,將設置變量的值顯示出來(作用域內)。
  9. 調用路徑(棧信息) backtrace 命令可打印函數的調用路徑,提供向前跟蹤功能。簡寫bt
  10. 多線程thread info thread列出當前進程中的線程號,用thread id進入需要調試的線程
  11. 匯編disassemble disassemble 函數名,打印指定函數的匯編代碼

                  常用命令


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 图木舒克市| 大关县| 安岳县| 河池市| 罗江县| 建平县| 明溪县| 繁峙县| 城口县| 富裕县| 岚皋县| 库伦旗| 襄汾县| 武义县| 衢州市| 保亭| 裕民县| 怀柔区| 岫岩| 潍坊市| 读书| 长乐市| 开远市| 霍州市| 扶绥县| 岳阳市| 锦屏县| 永靖县| 阿克苏市| 平谷区| 太谷县| 卢湾区| 新建县| 外汇| 梅州市| 河津市| 康乐县| 博湖县| 河津市| 灵宝市| 汉中市|