gdb

  • gdb(GNU Debugger)
  1. 設置斷點
  2. 監視,修改變量
  3. 單步執行
  4. 查看堆棧
  • 利用gdb調試的前提
  1. 在程序的編譯過程中使用-g選項   gcc -g -o test test.c
  2. 啓動gdb  gdb/gdb filename(filename是可執行文件)
  • gdb基本命令用途
  1. 文件操作  file quit shell
  2. 顯示源程序 list show
  3. 控制程序的執行 break 
  4. 程序的運行 
  5. 查看運行時數據 print display
  6. 顯示函數調用堆棧的信息 where/bt
  • 文件操作
  1. file:裝入調試程序 file filename
  2. quit:退出gdb
  3. shell:進入shell環境,執行shell命令 退出shell:exit
  • 顯示源程序

list:

  1. list:沒有參數,顯示從當前行開始10行
  2. list n:顯示從n行開始10行
  3. list start,end:顯示從start到end行的代碼
  4. list -:顯示當前行之前的10行
  5. list +:顯示當前行之後的10行
  6. list start,end 顯示從start到end行的代碼
  7. list main:顯示函數main

show:

  1. show listsize 查看顯示的行數
  2. set listsize 5   設置顯示的行數
  • 控制程序的執行

break:

  1. break 10:在第10行設置斷點
  2. break main:在函數入口處設置斷點
  3. break main if i == 10
  4. info break/info break 1:查看斷點
  5. delete/delete 1:刪除所有斷點/刪除一個斷點
  • 程序的運行
  1. run命令:運行程序,執行到斷點處,或者直到程序結束
  2. continue命令:
  3. kill命令:程序從當前位置開始,執行到斷點處,或者直到程序結束
  4. next命令:單步執行,不進入函數內部
  5. step命令:單步執行,不進入函數內部
  • 查看運行時數據

print命令:顯示變量/表達式的值

  1. print i
  2. print i*j
  3. print array[3]@5:顯示數組的值

display命令:預先設置一些要顯示的表達式

  1. info display:顯示當前設置的表達式的清單
  2. delete display:取消對設置的表達式的自動顯示功能
  • 顯示函數調用堆棧的信息
  1. breaktrace(bt)/where:顯示函數調用的層次關係
  2. up[n]:向上移動層棧幀
  3. down[n]:向下移動層棧幀

 

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