91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

調試利器GDB(上)

發布時間:2020-03-01 01:35:43 來源:網絡 閱讀:826 作者:三九感冒靈 欄目:系統運維

調試利器GDB(上)

1.1 GDB初識

1.1.1什么是GDB?

GDB是GNU項目中的調試器(gnu debuger),能夠跟尊程序的執行,也能恢復程序崩潰前的狀態

1.1.2為什么需要GDB?

軟件產品的研發過程必然伴隨bug,調試時軟件開發中不可或缺的技術(調試工具很重要)

1.1.3 DBG與binutils

調試利器GDB(上)

1.2 GDB的常規使用

1.自定義程序得到啟動方式(指定影響程序運行的參數)
2.設置條件斷點(在滿足條件時程序暫停執行)
3.回溯檢查導致程序異常結束的原因(core dump)
4.動態改變程序的執行流(定位問題的輔助方式)

1.3 GDB的啟動方式

?直接啟動:

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

1.5 斷點調試

1.5.1斷點類型

  • 軟件斷點:由非法指令異常實現(軟件實現),,通過中斷來實現程序位于ram中
  • 硬件斷點:由硬件特性實現(數量有限)程序位于flash(只讀)中
  • 數據斷點:由硬件特性實現(數量有限),監視內存,當內存被改寫時觸發

    1.5.2軟件斷點相關操作

    通過函數名設置斷點:

    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設置的斷點只生效一次。
    調試利器GDB(上)

    1.5.3調試時相關操作

    調試利器GDB(上)

    1.5.4硬件斷點及其操作

    當代碼位于只讀寄存器(flash)時,只能通過硬件斷點調試
    硬件斷點需要硬件支持,數量有限
    GDB通過hbreak命令支持硬件斷點,與break使用方法完全一致

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴文县| 澳门| 吴川市| 广昌县| 漳平市| 葫芦岛市| 富川| 柳州市| 吴川市| 山西省| 台中县| 略阳县| 晋宁县| 阆中市| 宁国市| 宜兴市| 麟游县| 电白县| 顺平县| 达日县| 南溪县| 平湖市| 得荣县| 大丰市| 邻水| 漳浦县| 彰化市| 平塘县| 平阳县| 桂林市| 田东县| 基隆市| 河北省| 昌平区| 永嘉县| 福贡县| 盈江县| 香河县| 措美县| 贵州省| 奉贤区|