clion:win10远程Linux服务器开发调试
clion:win10远程Linux服务器开发调试
环境介绍
linux
说明
-
为了能够在windowx上的clion 2019.3调试linux上面的代码
各版本推荐如下:
-
cmake: 2.8.11-3.15.x
-
GDB: 7.8.x-8.3.x
-
使用的系统版本
> cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
> uname -r
3.10.0-1062.9.1.el7.x86_64
linux上安装 cmake
-
安装依赖
yum install -y gcc g++ gcc-c++ make automake texinfo wget
-
下载解压编译
wget https://cmake.org/files/v3.13/cmake-3.13.4.tar.gz
tar -xf cmake-3.13.4.tar.gz
cd cmake-3.13.4
./configure
make
sudo make install
123456
安装好后的Cmake位于/usr/local/share/cmake-3.13/,可执行程序位于/usr/local/bin/cmake
-
为了让CLion能够自动识别,构建软连接。
ln -s /usr/local/bin/cmake /usr/bin/cmake
安装gdb
在安装GDB 前请先安装termcap库,否则在安装gdb时会报该库找不到的错误(configure: error: no termcap library found)。
termcap
wget https://ftp.gnu.org/gnu/termcap/termcap-1.3.1.tar.gz
tar -xf termcap-1.3.1.tar.gz
cd termcap-1.3.1
./configure
makesudomakeinstall1234567
错误:
错误: 无法验证 ftp.gnu.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
颁发的证书已经过期。
12
解决方法:
yum install -y ca-certificates
gdb 安装
-
卸载预装的gdb
yum remove -y gdb
1
-
下载编译安装
wget http://mirrors.ustc.edu.cn/gnu/gdb/gdb-7.9.tar.xz
tar -xf gdb-7.9.tar.xz
cd gdb-7.9./configure
sudo make
sudo make install
123456
gdb将被安装到/usr/local/share/gdb目录,可执行程序位于/usr/local/bin/gdb
-
为了让CLion能够自动识别,构建软连接。
ln -s /usr/local/bin/gdb /usr/bin/gdb

window
-
系统: win10
-
clion: 2019.3 可以使用ToolBox
基本使用
-
CLion工具链配置: 找到菜单 File->Settings->Build,Execution->Toolchains.截图如下

2. windows下安装Clion, 并且创建一个基本项目

3.可以看到自动上传到远程服务器上面了(Upload to Remote Host 上传到远程服务器)

4.运行的话也是使用远程目录

5.当然,你也可以手动上传、下载、同步

6. 如果你不想修改都手动同步服务器的话,你还可以设置自动同步
在Tool - Deployment - Automatic Upload(always) 设置为自动同步


7.我们在上面(第6和第3)可以看到Remote Host(远程主机),这个是根据第1步自动生成的。我们可以在File->Settings-> Build,Execution->Deployment.看到它

当然,我们也可以手动修改它(比如说重命名之类的,这里不修改,默认即可)。最重要的是我们可以在这里指定将代码同步到远程服务器的哪个目录下:

-
设置本地的代码根目录Local path
-
设置远程的代码根目录 Deployment path

8. 如果你想打断点调试的话,还需要如下配置【有错误,不要看,没有解决】
8.2、linux下如下准备
linux安装gdbserver
yum install gdb-gdbserver
1
开启远程调试服务
》 ls
cmake-build-debug CMakeLists.txt main.cpp
》 pwd
/home/oceanstar/CLionProjects/untitled
》 mkdir build
》cd build/
》 cmake .. -DCMAKE_BUILD_TYPE=Debug
》 make
》 gdbserver :1234 ./untitled
Process ./untitled created; pid =14984
Listening on port 1234
8.1 windowx如下配置:



然后就可以愉快的打断点啦
当然,你有可能遇到这样的错误

这个时候打开cmd,测试下能不能连接到服务

原因一般是linux上防火墙没有关闭
systemctl stop firewalld
更多推荐
所有评论(0)