使用Clion優雅的完全遠端自動同步和遠端除錯c++
歡迎訪問我的個人主頁qupzhi.com ,轉載請註明出處。
摘要:在linux上用vim寫C++的時候,通常用gdb進行除錯,不能隨心所欲的看程式碼和跳轉程式碼以及加watch(也有可能是因為我還沒有get正確的使用方法)。為此我發現Clion可以做到自動同步本場程式碼或自己下載遠端程式碼同步到本地,以及除錯在遠端機器上執行的程式碼,為此記錄下來。
簡介
CLion 是一款專為開發 C 及 C++ 所設計的跨平臺 IDE。 它是以 IntelliJ 為基礎設計的,包含了許多智慧功能來提高開發人員的生產力,從而提升工作效率 。
環境準備
- 作業系統: macOS / Windows
- IDE: CLion
- 原始碼路徑: Node Master
自動同步

- 開啟CLion的設定,進入到 Preferences | Build, Execution, Deployment | Deployment
- 點加號,新增一個遠端配置
- 設定為SFTP協議,設定遠端ip、port、pass然後點選Test Connection,確認是否連線成功

- 切換到Mappings
- 設定本地的程式碼根目錄Local path
- 設定遠端的程式碼根目錄 Deployment path

- 上傳一個檔案
- Upload是上傳,Download是下載,本地與遠端所對映的目錄我們在上面設定過了

- 上傳成功

- runlvm.sh檔案更新成功,現在的時間是3月18 21:42

- 在Tool - Deployment - Automatic Upload(always) 設定為自動同步
- 自動同步的話可以在每次在本地改動程式碼的時候自己同步了
- Sync with Deployed to 就是自動下載遠端程式碼到本地

- 手動上傳整個專案
- 上傳成功,上傳了100個檔案
- 檢視遠端目錄,確實成功了
好了,現在只要在本地有任何的改動都會自動同步到遠端了。
遠端除錯
CentOS的依賴依賴
# cmake yum install cmake -y # gcc & gdb yum install gcc-c++ -y yum install gdb -y #gdbserver yum install gdb-gdbserver -y 複製程式碼
新增GDB Remote Debug
本地克利翁配置



- 新增一個GDB遠端除錯的配置 GDB Remote Debug
- 設定遠端訪問引數(target remote args): tcp:xx.xx.xx.xx:1234
- 設定遠端路徑和本地路徑的對映(Path mappings)
- 遠端除錯連線成功後,像本地除錯一樣,可以設定斷點,單步跟蹤等
- 除錯需要本地和遠端的程式碼一致
兩個方法設定遠端配置
方法一、遠端gdbserver的啟動 遠端除錯依賴gdbserver的來支援,通過gdbserver的啟動的程式,會先等待遠端除錯的連線,連線成功後再啟動程序。
假設程式碼的根目錄: /data/pzqu/read_phy_disk_use/
,執行以下程式碼以後編譯
cd /data/pzqu/read_phy_disk_use/build cmake .. -DCMAKE_BUILD_TYPE=Debug make gdbserver :1234 ./read_phy_disk_use 複製程式碼
注意:cmake的指定需要-DCMAKE_BUILD_TYPE=Debug來請獲取除錯


遠端gdbserver的動態連線 gdbserver的還支援動態繫結到已經啟動的程序
gdbserver :1234 --attach <PID> 複製程式碼
