CLion远程调试

一 CLion远程调试

## 1.1 建立远程连接过程

设置——部署——“+”——SFTP——新建服务器名称——输入主机、用户名、密码信息——确定

工具链建立远程主机

设置——工具链——“+”——远程主机——凭据新增服务器信息

上传本地代码到服务器

ps:要保证本地文件完整,不然可能出现其他情况。

(比如这次我在本地工程中放了一版cJSON,然后又单独从Fz软件上传了3rd文件,拷贝到已经上传到服务器的工程中的3rd路径中,然后代码调试一直有问题,我觉得这边是有问题的)

重新上传之后就可以正常远程调试了。

1.2 保证了linux远程和本地的文件一致了

但是还是存在一个问题,就是显示找不到头文件,然后我就在定位原因。最后随便瞎弄了下,在设置——构建、执行、部署——CMake中增加远程主机,工具链设置成远程主机,应用确定。

在CLion中右上角将Debug_MinGW替换成刚才设置的远程主机,这时候的文件就指向了远程主机的文件。当然使用的就是linux的工具链了

1.3

另外需要注意的是,比如在一个工程中,对应好几个工程,每个子工程中有一个CMakeList.txt文件,那么应该这么理解,每个子工程都是一个工程,如果需要调试子工程,需要单独加载CMakeList.txt文件。加载方式,选中需要执行的子工程的CMakeList.txt文件,右击点击加载CMake项目,经过加载,头文件为远程服务器中的文件。

非项目文件为服务器上的文件,项目文件指向的还是本地文件。

这边要注意的是,新建工程拷贝其他工程的CMkaleLIst.txt文件的时候,需要修改比如proect、add_excutable等

1.4 在Clion shell上连接服务器

可以在CLion上直接打开远程服务器,从这个角度来看,vscode也是可以实现的。如果vscode可以远程调试,那其实两个软件是一样的。。。

1.5 新工程debug

今天遇到一个问题就是写的代码不进debug,还查了很多资料,基本没找到有效的方法。最后搞了很久,问了下同时,发现只是因为自己CmakeList.txt文件没有改成Debug,本来是Released的,这边应该是个宏定义类型的,应该设置成Debug。哎。。

然后还借此了解了linux机器上怎么编译文件,执行

cmake .

再执行make -j 32

还需要注意的是,我的个人工程当把CMakeList.txt文件配置成debug模式时,右上角一直显示是本地调试状态,而且修改不了。当我进入设置,将CMake构件类型的类型由release更改成debug后就可以指向远程linux,非工程文件也指向了linux。

1.6 创建一个工程验证protobuf

将light的protobuf的开源代码拉取到myFirstTest,写了CMakeList.txt,根据与Cmakelist.txt的相对路径配置了头文件路径,但是first.pb.h文件里的头文件一直报错找不到头文件,搞了很久,周五就一直搞,到周一上午才搞好。是怎么搞好的呢?我突然发现右上角编辑配置里有一个main还有一个myTestTest,我试着选了下myFirstTest,一下就好了。也是不知道为什么。看来还是得研究研究啊。

然后现在出现的问题就是protobuf的版本问题,报错firstVersion.pb.h文件是由旧版本生成的。我看了我拷贝过来的protobuf版本是3.21.9的,然后我查看windows安装的用来编译.proto文件的protobuf版本,

查询protobuf版本指令: protoc --version,查到的版本号是3.12.1

C:\Users\z30031397>protoc --version
libprotoc 3.12.1

1.7升级protoc版本方法

# 1. 访问GitHub发布页面并找到适合你系统的protobuf版本访问Protocol Buffers的GitHub发布页面:https://github.com/protocolbuffers/protobuf/releases
# 2. 下载protoc-<version>-win64.zip到你的计算机# 3. 解压缩下载的文件到你选择的目录,例如C:\protobuf# 4. 将protoc的路径添加到系统环境变量中
# 打开“控制面板” > “系统和安全” > “系统” > “高级系统设置” > “环境变量”
# 在“系统变量”中找到“Path”,选择并点击“编辑”
# 点击“新建”并添加C:\protobuf(或者你解压缩protoc的实际路径)
# 点击“确定”保存更改

在这里插入图片描述

二 显示终端显示不了中文。显示乱码

解决办法:设置——编辑器——文件编码——TUTF8

参考教程:https://blog.csdn.net/weixin_51912340/article/details/132432468

三 CLion设置字体大小

setting——编辑器——字体

问题处理:

1、问题1

在对应头文件的.cpp文件中出现 This file does not belong to any project ,code insight features might not work properly 提示

意思是: 此文件不属于任何项目,代码洞察功能可能无法正常工作

就是main程序添加这个头文件无效

解决办法

在 add_executable(项目名 文件2.cpp 文件2.cpp),运行程序,问题解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/1688.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试人员一定要避免的这些不专业行为!

软件测试并非一个简单的任务&#xff0c;需要高度的专业性和责任感&#xff0c;本文将探讨一些常见的不专业行为&#xff0c;及其对软件开发过程和产品质量可能产生的负面影响。 1. 忽略细节 在测试过程中忽视细节&#xff0c;导致测试不彻底&#xff0c;漏洞未被发现。 2. …

从 Android 恢复已删除文件的 3 种简单方法

如何从 Android 恢复已删除的文件&#xff1f;毫不犹豫&#xff0c;有些人可能会认为从 Google 备份恢复 Android 文件太容易了。但是&#xff0c;如果删除的文件未同步到您的帐户或未备份怎么办&#xff1f;您错误的恢复可能会永久删除您想要的数据。因此&#xff0c;我们发布…

常见的软件架构模式

在软件开发过程中&#xff0c;软件架构模式是实现高质量、可扩展系统的关键。本文将介绍一些常见的软件架构模式&#xff0c;分析其优缺点和适用场景&#xff0c;从而帮助大家在实际项目中做出更明智的架构选择&#xff08;注意以下的架构模式相互之间并不一定互斥&#xff0c;…

23种设计模式之抽象工厂

简单工厂和工厂方法 关注 产品等级 抽象工厂 关注 产品族 对于比较稳定的产品&#xff0c;抽象工厂更有效率&#xff08;一个工厂生产很多产品族&#xff09; 抽象工厂代码例子加深理解

我与C++的爱恋:类和对象(三)

​ ​ &#x1f525;个人主页&#xff1a;guoguoqiang. &#x1f525;专栏&#xff1a;我与C的爱恋 先来回顾一下&#xff0c;上一节的内容并且通过上次的内容来做一道oj题。 https://leetcode.cn/problems/implement-queue-using-stacks/ class MyQueue { private:stack&l…

【LeetCode:216. 组合总和 III + 递归】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

JavaSE-15笔记【注解(+2024新)】

文章目录 1.注解概述2.几个常用的JDK内置的注解2.1 Deprecated2.2 Override2.3 SuppressWarnings2.4 FunctionalInterface 3.自定义注解3.1 注解也可以定义属性3.2 注解的使用规则补充 4.元注解4.1 Retention4.2 Target4.3 Documented4.4 Inherited4.5 Repeatable 5.通过反射获…

微信小程序开发

微信小程序隶属于前端&#xff0c;因此我们只需要了解掌握一些基本的功能与业务逻辑即可。 HttpClient HttpClient 是Apache Jakarta Common 下的子项目&#xff0c;可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包&#xff0c;并且它支持 HTTP 协议…

Robbins-Monro(RM)算法【随机近似】

强化学习笔记 主要基于b站西湖大学赵世钰老师的【强化学习的数学原理】课程&#xff0c;个人觉得赵老师的课件深入浅出&#xff0c;很适合入门. 第一章 强化学习基本概念 第二章 贝尔曼方程 第三章 贝尔曼最优方程 第四章 值迭代和策略迭代 第五章 强化学习实践—GridWorld 第…

WP-AutoPostPro 汉化版: WordPress自动采集发布插件

WP-AutoPostPro 是目前最好用的WordPress自动采集发布插件&#xff0c;最大的特点是可以采集来自于任何网站的内容并自动发布到你的WordPress站点。真正做到可以采集任何网站的内容并自动发布&#xff0c;采集过程完全自动进行无需人工干预&#xff0c;并提供内容过滤、HTML标签…

libssh C++封装(一)

1 概述 libssh是一个在客户端和服务器端实现SSHv2协议的多平台C库。使用libssh&#xff0c;您可以远程执行程序、传输文件、使用安全透明的隧道、管理公钥等等。本文描述的对libssh客户端功能的C封装。 libssh下载地址 2 设计 2.1 类图 类型说明&#xff1a; Session SSH连接…

Centos7 的 Open Stack T 版搭建流程 --- (三)配置消息队列

配置消息队列 文章目录 配置消息队列&#xff08;1&#xff09;安装 RabbitMQ 服务并配置新用户权限controller &#xff08;2&#xff09;如何开启图形化&#xff08;拓展&#xff09; &#xff08;1&#xff09;安装 RabbitMQ 服务并配置新用户权限 controller yum install…

开源AI智能名片源码:虚实融合引领品牌营销新篇章

随着数字时代的飞速发展&#xff0c;品牌营销已经步入了一个全新的纪元。在这个变革的时代&#xff0c;开源AI智能名片源码以其独特的虚实融合功能&#xff0c;正引领着品牌营销走向更加智能化、个性化的道路。 传统的品牌营销往往局限于单向的信息传播&#xff0c;难以与用户产…

成都污水处理站运维厂家服务商

选择污水处理运维服务厂家时&#xff0c;需要考虑以下几个关键的事项来确保您选择了合适的服务提供商&#xff1a; 1. **资质和认证&#xff1a;** 确认厂家是否具备国家或地方政府颁发的相关环保和水处理行业资质、证书&#xff0c;比如ISO认证、水污染治理资质等&#xff0c;…

Nacos服务注册中心的下载与使用

1. Nacos是什么&#xff1f; https://nacos.io/ 官方&#xff1a;一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。 集 注册中心配置中心服务管理 平台 Nacos 的关键特性包括: 服务发现和服务健康监测 动态配置服务 动…

手写一个Spring IOC框架

目录 一&#xff0c;Spring IOC 二&#xff0c;流程图设计 三&#xff0c;设计思路解析 三&#xff0c;开始写代码 1.准备工作: 2.扫描并加载类信息 3.初始化bean 4.测试一下 一&#xff0c;Spring IOC Spring IoC容器是Spring框架的核心&#xff0c;它通过读取配置信息…

【每日刷题】Day20

【每日刷题】Day20 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 面试题 17.04. 消失的数字 - 力扣&#xff08;LeetCode&#xff09; 2. 189. 轮转数组 - 力扣&#…

随机森林(Random Forests)

通过5个条件判定一件事情是否会发生&#xff0c;5个条件对这件事情是否发生的影响力不同&#xff0c;计算每个条件对这件事情发生的影响力多大&#xff0c;写一个随机森林&#xff08;Random Forests&#xff09;模型程序,最后打印5个条件分别的影响力。 ChatGPT 下面是一个使…

后端获取请求体Body,将请求体进行解密放回Request请求,并能通过@RequestBody获取

目前系统发送的post和put请求都是没有加密数据。客户需要将请求体加密。而系统已经基本开发完成&#xff0c;不可能一个一个去修改发送的请求。就需要在发送请求时候在拦截器中将body进行加密。并且在后端进行请求过滤解密&#xff0c;并且能通过RequestBody继续获取对象。 1.…

matlab学习004-使用matlab绘制两个序列及信号的卷积波形图

目录 1&#xff0c;序列&#xff1a;x(n)u(n-2)-u(n-10)&#xff0c;h(n)((0.9)^n)*u(n) 1&#xff09;前期基础 ①conv函数 ②离散单位阶跃信号 2&#xff09;波形图 3&#xff09;代码 ①使用input方法 ②代码改进【推荐使用】 2&#xff0c;信号&#xff1a;xu(…