(P5)Linux開發工具——gdb入門上

1.什麼是gdb

  • 什麼是gdb
    gdb是GNU debugger的縮寫,是程序的調試工具

2.gdb功能

  • 啓動程序,可以按照用戶自定義的要求隨心所欲的運行程序
  • 可讓被調試的程序在用戶所指定的調試的斷點處停住**(斷點可以是條件表達式)**
  • 當程序停住時,可以檢查此程序中所發生的事
  • 動態改變程序的執行環境,可以動態改變變量的值

3.運行程序

gcc -Wall -g simple.c -o simple
不加-g只會有彙編代碼而沒有源文件代碼

參數列表:程序列表 程序啓動參數a b c

  • run®運行程序
  • run arg1 arg2

4.查看源碼

  • list(l)-查看最近10行源碼。l 2,10查看第2行到第10行代碼
  • list fun-查看fun函數代碼
  • list file:fun-查看file文件中的fun函數源碼

5.設置斷點與觀察點

break 10,b func
info 10,i b

break 行號
break fun
break file:行號,eg:l search.c:10
break file:fun
break if <condition> 條件成立時程序停住,eg: break if i=50,然後執行c,表示程序運行到i=50停住了
info break(i b) 查看斷點
watch expr 表達式expr值發生改變,程序停住,eg:watch i,然後執行c,只要i的值發生改變,程序就會停住
delete n 刪除斷點,n是斷點號

5.單步調試

s 單步跟蹤
until 跳出循環

finish 退出整個函數

continue© 運行至下一個斷點
step(s) 單步跟蹤,進入函數,類似VC中的step in
next(n) 單步跟蹤,不進入函數,類似VC中的step out
finish 運行程序,直到當前函數完成返回。並打印函數返回時的堆棧地址和返回值及參數值等信息
until 當厭倦了在一個循環體內單步跟蹤時,這個命令可以運行程序直到退出循環體

32:40

6.gdb常用命令總結

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