MySQL5.6 與 MySQL5.7 的區別
阿新 • • 發佈:2020-07-13
本文基於文章《蜂鳥E203系列——利用 Hbrid-E-SDK 環境開發程式》
GDB 簡介
GDB(GNU Project Debugger),是 GNU 工具鏈中的除錯軟體。 GDB 是一款應用非常廣泛的除錯工具,能夠用於除錯 C、 C++、 Ada 等等各種語言編寫的程式,它提供如下功能:
下載或者啟動程式
通過設定各種特定條件來停止程式
檢視處理器的執行狀態,包括通用暫存器的值,記憶體地址的值等
檢視程式的狀態,包括變數的值,函式的狀態等
改變處理器的執行狀態,包括通用暫存器的值,記憶體地址的值等
改變程式的狀態,包括變數的值,函式的狀態等
GDB 可以用於在主機 PC 的 Linux 系統中除錯執行的程式,同時也能用於除錯嵌入式硬體,在嵌入式硬體的環境中,由於資源有限,一般的嵌入式目標硬體上無法直接構建 GDB 的除錯環境(譬如顯示屏和 Linux 系統等),這時可以通過 GDB + GdbServer 的方式進行遠端 (remote) 除錯,通常而言 GdbServer在目標硬體上執行,而 GDB 則在主機 PC 上執行。
GDB 常用指令表
命令 | 描述 |
---|---|
load file | 動態連線file |
jump | 使當前程式跳轉到某一行或某個地址 |
info br | 檢視斷點資訊 |
break function | 在指定的函式或行號設定斷點 |
step | 進入函式內部 |
next | 執行下一行程式碼,但是不進入函式內部 |
continue | 恢復程式執行,直到碰到下一個斷點 |
常用命令參考連結
https://www.cnblogs.com/jasonLiu2018/p/11494214.html
https://www.cnblogs.com/lsgxeva/p/8024867.html
OpenOCD 簡介
為了能夠支援 GDB 對其進行除錯, 蜂鳥 E203 使用 OpenOCD
GDB 除錯
在hbird-e-sdk目錄下執行
1 編譯目標檔案
make dasm PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=flash USE_NANO=1 NANO_PFLOAT=0
2 下載執行
make upload PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=flash USE_NANO=1 NANO_PFLOAT=0
3 開啟OpenOCD,與開發板進行連線
make run_openocd PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=itcm
3 重新開啟一個終端並開啟GDB
make run_gdb PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=itcm
4 在 GDB 介面進行除錯:main函式設定斷點
break main
5 檢視斷點資訊
info break
6 從程式main入口執行,程式停在第一個斷點處
jump main
7 從斷點處單步除錯
n