1、配置步驟
先在VSCode上打開源碼所在檔案夾(或者打開workspace工作區):
然後點選左側視窗的調試選項或者按下“Ctrl+Shift+D”打開調試功能:
完成後生成“launch.json”檔案,初始内容如下:
其中有幾個比較重要的參數(預設不提供的話我們也可以手動添加上去):
- name:調試的項目名,無所謂啦;
- program:程式名稱,最好是絕對路徑;
- args:給main函數傳遞參數;
- cwd:需要調試的程式的源碼路徑;
- environment:環境變量的設定;
- miDebuggerPath:gdb的路徑,搭配gdbserver則使用對于xxx-gdb的路徑;
- miDebuggerServerAddress:對于遠端調試來說,需要添加該選項,内容就是遠端gdbserver填寫的伺服器位址。
是以接下來修改“launch.json”檔案搭配gdbserver來實作遠端調試,修改後的内容如下:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 啟動",
"type": "cppdbg",
"request": "launch",
"program": "/home/linrm/work/test/gdb_test/test",
"args": [],
"stopAtEntry": false,
"cwd": "/home/linrm/work/test/gdb_test",
"miDebuggerPath": "/home/linrm/work/imx6ull/system/gcc-linaro-6.5.0-2018.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb",
"miDebuggerServerAddress": "192.168.1.123:1001",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "為 gdb 啟用整齊列印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
注意,這裡有些參數也可以像預設配置一樣使用workspace工作區的路徑,當然前提是使用工作區的方式打開項目。
2、調試方法
2.1 先是在開發闆中啟動gdbserver
2.2 在VSCode上啟動調試
修改“launch.json”檔案,内容可以參考前面的配置;完成後點選“運作(R)-> 啟動調試(S)”或圖中的調試按鈕:
對于本次測試程式來說,程式故意引入一個修改常量導緻的段錯誤,最終通過調試也能定位出問題的位置: