1.前期工作
1.1工程路徑確認
GPU項目共有6個工程,如圖 1-1:
圖 1-1 GPU項目工程
這6個工程建議放在同一目錄下,否則可能調試時會出現奇怪的問題,比如放在IDE默認的workspace目錄下,如圖 1-2:
圖 1-2 workspace工程目錄
1.2測試程序文件名確認
例如測試程序工程叫gpu_test,那麼主程序所在的文件名必須是gpu_test.c,不然調試時會報出找不到gpu_test.c警告。示例如圖 1-3:
圖 1-3確認測試程序主文件
2.GDB調試設置
2.1新建調試項目
2.1.1打開測試工程主程序文件
如圖 21:
圖 2-1打開測試主程序文件
2.1.2打開Debug Configurations選項
如圖 2-2所示:
圖 2-2打開調試配置菜單
2.1.3新建SylixOS調試項目
右擊SylixOS Remote Application選項,選擇New選項來新建一個SylixOS調試項目,如圖 2-3:
圖 2-3新建調試項目
2.2選擇調試程序
注意不要選擇strip目錄下的程序,如圖 2-4:
圖 2-4選擇調試程序
2.3選擇attach調試模式
如圖 2-5:
圖 2-5選擇attach調試模式
2.4添加動態庫路徑
一共要添加4個動態庫的路徑,如圖 2-6和圖 2-7:
圖 2-6添加動態庫路徑
圖 2-7添加後的動態庫
2.5指定調試程序,開始調試
前提是測試程序和庫都已經下載到目標板上,並且測試程序已經在運行狀態,進程ID可以通過在連接到目標板的終端輸入ps命令查到。如圖 2-8:
圖 2-8指定進程ID
3.調試功能使用
3.1選擇調試功能窗口
如圖 3-1所示:可以按需要選擇添加功能窗口,一般常用的是Debug、Breakpoints、Memory、Variables等。
圖 3-1選擇功能窗口
選擇好功能窗口後,還可以根據自己的喜好調整每個窗口的位置,如圖 3-2:
圖 3-2窗口位置調整
3.2添加斷點
點擊想要添加斷點的代碼行,等藍色區域出現後,直接雙擊即可添加一個斷點。添加成功後,藍色區域會出現一個小圓點,並且斷點會立即生效,程序運行至此代碼行處後會停止,而且此代碼行背景色變爲綠色,如圖 3-3:
圖 3-3添加斷點
3.3添加多個斷點
添加方法和上個小節一樣,並且在Breakpoints區可以對添加的多個斷點管理,如圖 3-4:
圖 3-4添加多個斷點
3.4查看變量和寄存器
當程序運行到斷點處時,可以在Variables區查看斷點上下文中的變量值,如圖 3-5:
圖 3-5查看變量
同樣,在Registers區查看寄存器的值,如圖 3-6:
圖 3-6查看寄存器
3.5恢復運行
如果想要程序再次運行到斷點處,按F8即可。如果想要去掉斷點運行,在Breakpoints區將斷點前面的勾去掉,然後按F8即可。如圖 3-7:
圖 3-7恢復運行