CLion遠程調試嵌入式開發板程序

CLion遠程調試嵌入式開發板程序

1. 目的

有時候我們的程序在板端運行崩潰,或不符合預期或者單純想要單步調試去查看一些變量。很多時候我們不得不加很多打印語句或用gdb 調試。不夠直觀和方便。clion可以說是現在linux平台最好的C++ IDE了,clion還提供了remote gdb server的功能,可以讓我們實現在開發機上打斷點單步調試開發板上的程序,在滿足使用條件的情況
下,還是非常方便的。

2. 前提條件

板端:具有gdb-server
主機:能夠編譯目標板的程序

3. CLion設置

3.1 設置一個Deployment

(其實官方步驟里沒寫這步,但實踐看設置一下非常方便後面得使用)
image
其中SSh configuration就是板子的ssh連接配置。
再設置一下mappings中的Deployment path, 也就是本地路徑同步到板子的哪個路徑:
image
還可以設置一下Excluded Paths, 也就是哪些路徑不同步到板子,因為板子只是跑下程序,所以代碼、其他編譯目錄等都可以設置不傳。
image
點擊完成,第一步配置就OK了。

3.2 上傳需要的目錄到目標板子

右鍵想要同步的目錄或文件,Deployment->UploadXXX(對應板子deployment)即可。
image
也可以設置為自動同步,每次有修改,就會自動同步到板子:
image
如果有文件上傳,會有日誌:
image

3.3 設置一個Remote GDB Server

Run->Edit Configures:
image
要設置上傳路徑,直接設置為我們在3.1中設置的目錄即可,
設置GDB Server的啟動參數, 格式為 :端口號 程序路徑 程序啟動參數。 如上圖 “:1234 xxx -h 192.168.17.82”
如果程序需要依賴板子其他路徑的庫,在Environment 中設置。
至此,設置完成。就可以像本地一樣打斷點debug了。
image
image

總結

用這種遠程debug的方式,對於不習慣手動gdb在板子上調試的開發者還是挺方便的,也比print打印去調試更方便。CLion的Remote debug其實是依賴於Remote GDB Server, 並不是其獨有的功能,用其他編輯器如VS Code也有插件可以實現類似的功能。
PS: Jet Brains yyds, 支持正版(手動狗頭)

Tags: