gdb命令的使用

gdb的作用:

  1. 啓動程序,指定任意可以影響程序的參數
  2. 讓程序在指定條件下暫停
  3. 測試程序停止時發生事情
  4. 改變程序內部變量,改正錯誤繼續運行

gdb的使用:

  • gdb + 可執行文件
  • gdb + 可執行文件 + core
  • gdb + 進程名 + 進程ID

調試命令:

  • break 設置斷點:
    • break function 設定到指定的函數
    • break linenum 設定到行號
    • break +/- offset 當前行號前後
    • break filename:linenum 指定文件的多少行
    • break  if<condition> 條件成立時停住
    • info breakpoints[n] 查看斷點信息
    • delete breakpoints[n] 刪除斷點
    • disable breakpoints[n] 禁用斷點
    • enable  breakpoints[n] 啓用斷點
  • watch <expr> :變量發生變化時中斷  rwatch <expr> 讀時中斷 awatch <expr> 被寫或者讀中斷
  • run[ ] :啓動程序附帶參數
  • bt(backtrace) 顯示堆棧信息
  • print expr:顯示錶達式的值
  • c :繼續執行程序(例如斷電處停止)
  • next:執行下一行代碼(跨過函數調用)
  • edit [file:]function :查看程序停的位置
  • list[file:] function :顯示程序停住的附近的代碼
  • step:單步調試,進入函數內部
  • quit:退出程序
  • continue    繼續運行程序直到下一個斷點
  • until        運行至當前語句塊結束

  • finish    運行至函數結束並跳出,並打印函數的返回值

  • layout src (源代碼)、regs(寄存器)、asm(彙編)、split(源代碼和彙編) :顯示窗口 ,control + x ,再按a退出窗口

  • disassemble :查看彙編代碼,/m 源碼和彙編一起排列

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