您好,登錄后才能下訂單哦!
GDB是GNU項目中的調試器(gnu debuger),能夠跟尊程序的執行,也能恢復程序崩潰前的狀態
軟件產品的研發過程必然伴隨bug,調試時軟件開發中不可或缺的技術(調試工具很重要)
1.自定義程序得到啟動方式(指定影響程序運行的參數)
2.設置條件斷點(在滿足條件時程序暫停執行)
3.回溯檢查導致程序異常結束的原因(core dump)
4.動態改變程序的執行流(定位問題的輔助方式)
?直接啟動:
gdb
gdb test.out
gdb test.out core
?動態鏈接gdb test.out pid
1.4 GDB的應用示例
示例1:
dbg //啟動
file test.out //載入目標程序
set args arg1 arg2 //設置命令行參數
run //執行目標程序
注:gdb + file test.out == gdb test.out
示例2:
gdb //啟動
attach pid //鏈接到目標進程,鏈接成功后目標程序將停止執行
continue //恢復執行
注:gdb + attach pid == gdb test.out pid
通過函數名設置斷點:
break func_name [ if var = value]
tbreak func_name [ if var = value]
通過行號設置斷點:
break file_name:line_num [ if var = value ]
break file_name:line_num [ if var = value ]
Tbreak設置的斷點只生效一次。
當代碼位于只讀寄存器(flash)時,只能通過硬件斷點調試
硬件斷點需要硬件支持,數量有限
GDB通過hbreak命令支持硬件斷點,與break使用方法完全一致
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。