實(shí)現(xiàn)本地Clion寫(xiě)項(xiàng)目,遠(yuǎn)程連接Ubuntu服務(wù)器,并將本地所做的修改實(shí)時(shí)同步到Ubuntu上
一、Ubuntu服務(wù)器
- 開(kāi)啟sshd服務(wù)
sudo systemctl status sshd
- 安裝工具鏈,g++,gcc,make,cmake,gdb,(apt install安裝的版本不符,就去搜其他方式安裝適合的版本)
sudo apt install gcc g++ make cmake gdb -y
二、本地Win10
- 參考windows clion安裝
- 配置Ubuntu服務(wù)器:
文件 -> 設(shè)置 -> 構(gòu)建、執(zhí)行、部署 -> 工具鏈 -> 點(diǎn)+添加遠(yuǎn)程服務(wù)器
名稱(chēng):便于自己區(qū)分哪個(gè)服務(wù)器即可
憑據(jù):點(diǎn)擊后方齒輪進(jìn)行ssh配置,在下方介紹
Cmake,Make,C編譯器,C++編譯器,調(diào)試器:填完憑據(jù)后,這些工具鏈CLion會(huì)自動(dòng)搜索,若找不到就自己填一下路徑
ssh配置,點(diǎn)+添加:
主機(jī):遠(yuǎn)程Ubuntu服務(wù)器的ip,用ifconfig查看
端口:默認(rèn)22,也可以修改服務(wù)器的/etc/ssh/sshd_config來(lái)修改端口
用戶名:服務(wù)器上登錄的用戶名
輸入用戶名的密碼后,點(diǎn)測(cè)試連接進(jìn)行驗(yàn)證
-
CMake配置:
點(diǎn)+添加兩個(gè)配置,分別是Debug和Release:
名稱(chēng):分別為cmake-Debug和cmake-Release
構(gòu)建類(lèi)型:分別是Debug和Release
工具鏈:選擇上文配置的Ubuntu服務(wù)器工具鏈
構(gòu)建目錄:和名稱(chēng)相同即可
其余默認(rèn)即可 -
部署遠(yuǎn)程同步:
在下方選擇剛才的Ubuntu服務(wù)器為默認(rèn)服務(wù)器
此時(shí),Clion會(huì)自動(dòng)將本地所做的修改同步到Ubuntu的/tmp/下某個(gè)目錄,我們可以自定義這個(gè)位置。
文件 -> 設(shè)置 -> 構(gòu)建、執(zhí)行、部署 -> 部署 -> +添加一個(gè),選擇SFTP,分別按下面三張圖填寫(xiě)連接,映射,排除的路徑
類(lèi)型:SFTP
ssh配置:上面新添加的Ubuntu服務(wù)器
根路徑:/
web服務(wù)器URL:沒(méi)填
映射指將本地的什么目錄和Ubuntu的什么目錄同步,為了方便F:\coder\下的其它新項(xiàng)目使用,Ubuntu上的部署路徑采用和本地一樣的目錄結(jié)構(gòu)(放在了/mnt/下),需要將整條部署路徑的權(quán)限chmod 777,否則本地作的修改同步不到Ubuntu上
排除的路徑:這些路徑不會(huì)被自動(dòng)同步 -
手動(dòng)同步(拉取或推上去)
在需要同步的文件/目錄右鍵 -> 部署 -> 上傳/下載即可 -
自動(dòng)實(shí)時(shí)同步
為了方便,我設(shè)置了自動(dòng)同步:
工具 -> 部署 -> 自動(dòng)上傳
如果自動(dòng)上傳時(shí),不小心改錯(cuò)東西了,也可以恢復(fù),參考CLion精華筆記
三、優(yōu)雅地遠(yuǎn)程GDB調(diào)試
實(shí)現(xiàn)本地寫(xiě)代碼,本地調(diào)試;實(shí)際都是用的遠(yuǎn)程的工具鏈
可以參考優(yōu)雅地遠(yuǎn)程gdb調(diào)試
-
本地在clion中添加一個(gè)用于gdb遠(yuǎn)程調(diào)試的配置:
點(diǎn)+ -> 遠(yuǎn)程調(diào)試
需要注意的是:
‘target remote實(shí)參’:tcp:Ubuntu的ip:指定一個(gè)端口,這個(gè)端口是下面Ubuntu服務(wù)器要監(jiān)聽(tīng)的端口
路徑映射:分別填本項(xiàng)目在本地和遠(yuǎn)程的同步目錄
其它項(xiàng)照著圖片填即可 -
遠(yuǎn)程Ubuntu設(shè)置遠(yuǎn)程配置
方法一、 遠(yuǎn)程gdbserver的啟動(dòng)
假設(shè)代碼的根目錄:/mnt/clion-shared/coder/algorithm/Acm/,我們首先在clion中打開(kāi)終端,選擇我們的遠(yuǎn)程服務(wù)器:
遠(yuǎn)程調(diào)試依賴(lài)gdbserver的來(lái)支持,通過(guò)gdbserver的啟動(dòng)的程序,會(huì)先等待遠(yuǎn)程調(diào)試的連接,連接成功后再啟動(dòng)進(jìn)程??梢栽谏厦娲蜷_(kāi)的終端中輸入如下命令,使Ubuntu啟動(dòng)一個(gè)進(jìn)程開(kāi)始監(jiān)聽(tīng)(監(jiān)聽(tīng)的正是上文我們?cè)O(shè)置的1234端口):文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-766707.html
cd /mnt/clion-shared/coder/algorithm/Acm/build
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
gdbserver :1234 ./Acm
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-766707.html
- 本地打斷點(diǎn),點(diǎn)小蟲(chóng)子開(kāi)調(diào)試即可,可以在本地clion觀察變量的值,以及本地終端觀察打印的值
到了這里,關(guān)于本地clion開(kāi)發(fā)/優(yōu)雅地調(diào)試,并實(shí)時(shí)同步遠(yuǎn)程服務(wù)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!