CLion远程调试嵌入式开发板程序

1. 目的

有时候我们的程序在板端运行崩溃,或不符合预期或者单纯想要单步调试去查看一些变量。很多时候我们不得不加很多打印语句或用gdb 调试。不够直观和方便。clion可以说是现在linux平台最好的C++ IDE了,clion还提供了remote gdb server的功能,可以让我们实现在开发机上打断点单步调试开发板上的程序,在满足使用条件的情况

下,还是非常方便的。

2. 前提条件

板端:具有gdb-server

主机:能够编译目标板的程序

3. CLion设置

3.1 设置一个Deployment

(其实官方步骤里没写这步,但实践看设置一下非常方便后面得使用)



其中SSh configuration就是板子的ssh连接配置。

再设置一下mappings中的Deployment path, 也就是本地路径同步到板子的哪个路径:



还可以设置一下Excluded Paths, 也就是哪些路径不同步到板子,因为板子只是跑下程序,所以代码、其他编译目录等都可以设置不传。



点击完成,第一步配置就OK了。

3.2 上传需要的目录到目标板子

右键想要同步的目录或文件,Deployment->UploadXXX(对应板子deployment)即可。



也可以设置为自动同步,每次有修改,就会自动同步到板子:



如果有文件上传,会有日志:

3.3 设置一个Remote GDB Server

Run->Edit Configures:



要设置上传路径,直接设置为我们在3.1中设置的目录即可,

设置GDB Server的启动参数, 格式为 :端口号 程序路径 程序启动参数。 如上图 ":1234 xxx -h 192.168.17.82"

如果程序需要依赖板子其他路径的库,在Environment 中设置。

至此,设置完成。就可以像本地一样打断点debug了。



总结

用这种远程debug的方式,对于不习惯手动gdb在板子上调试的开发者还是挺方便的,也比print打印去调试更方便。CLion的Remote debug其实是依赖于Remote GDB Server, 并不是其独有的功能,用其他编辑器如VS Code也有插件可以实现类似的功能。

PS: Jet Brains yyds, 支持正版(手动狗头)

CLion远程调试嵌入式开发板程序的更多相关文章

  1. gdbserver远程调试嵌入式linux应用程序方法

    此处所讲的是基于gdb和gdbsever的远程调试方法.环境为:PC机:win7.虚拟机:10.04.下位机:飞嵌TE2440开发板. 嵌入式linux应用程序的开发一般都是在linux里面编写好代码 ...

  2. 使用Visual Studio 利用WinGDB编译和远程调试嵌入式Linux的程序

    写这篇文章的目的在于帮助那些既要使用Visual Studio编写程序又要开发和调试嵌入式Linux 程序的苦命程序员们! 第一步, 安装 WinGDB ,下载位置  http://www.wingd ...

  3. ARM嵌入式开发板

    iTOP-4412 ARM嵌入式开发板----主要特点 iTOP-4412开发平台是北京迅为电子研发设计的嵌入式开发板平台,核心板配备64位双通道2GB DDR3,16GBEMMC存储,三星原厂S5M ...

  4. 学习嵌入式开发板的Android平台体系结构和源码结构

    本文转自迅为论坛资料:http://www.topeetboard.com 推荐学习嵌入式开发板平台:iTOP-4412开发板 下面这张图出自Google官方,展示了Android系统的主要组成部分. ...

  5. 嵌入式开发板iTOP4412学习开发板

    网站:http://www.topeetboard.com 淘宝:https://item.taobao.com/item.htm?_u=okcahs0f42a&id=38712193806 ...

  6. 使用VisualGDB和OpenOCD调试STM32L0开发板

    本教程主要介绍如何配置VisualGDB和OpenOCD来调试STM32L0开发板的固件,使微控制器进入睡眠模式. 我们将创建一个NUCLEO-L031K6开发板的基本工程,并介绍当CPU进入休眠模式 ...

  7. 嵌入式开发板使用网口和nfs进行文件共享

    如果你的开发板有网口,类似于这玩意. 那么,你可以去买根网线,类似于这玩意. 然后你就可以将你的电脑和开发板用网线连起来,通过nfs(网络文件系统)来进行文件夹共享,文件夹共享就相当于挂载,nfs是利 ...

  8. 【4412嵌入式开发板学习笔记】认识uboot

    转自迅为讨论群:http://www.topeetboard.com 重要说明:这份笔记不是4412开发配套的,是我在网上看视频的时候下载上课老师的笔记后修改的.所以我试了一下笔记上的uboot命令, ...

  9. 移植QT5.6到嵌入式开发板(史上最详细的QT移植教程)

    目前网上的大多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更老的 Qtopia ,但是目前 Qt 已经发展到最新的 5.7 版本了,我个人也已经使用了很长一段时间的 qt5.6 for w ...

随机推荐

  1. STM32—SPI详解

    目录 一.什么是SPI 二.SPI协议 物理层 协议层 1.通讯时序图 2.起始和停止信号 3.数据有效性 4.通讯模式 三.STM32中的SPI 简介 功能框图 1.通讯引脚 2.时钟控制逻辑 3. ...

  2. 关于Ajax异步提交登录及增删改查小项目制作-登录

    一.登录的完成 先导包jquery和MySql //异步提交 <script type="text/javascript" src="js/jquery-1.8.2 ...

  3. SQL:多表查询

    参考网址: https://zhuanlan.zhihu.com/p/91973413 此次主要介绍多表查询中的三部分:合并查询结果.连接查询(交叉连接.内连接.左连接.右连接.全连接)和CASE表达 ...

  4. vue项目打包 部署nginx服务器 访问远程接口 本地json 跨域问题

    本文建立在你已经在windows7上已经配好了nginx的前提下进行!!! 如果没有请移步至:https://www.cnblogs.com/jack1208-rose0203/p/5739765.h ...

  5. nodejs根据word模板生成文档(方法二)

    [推荐该方法,模板比较简洁] 1,代码, 这里采用的模块为 docxtemplater 和 open-docxtemplater-image-module,均为开源(docxtemplater 有收费 ...

  6. 如何用Mybatis逆向工程实现分页查询(更改生成的Example)

    如何用Mybatis逆向工程实现分页查询  一个很简单的方法,如果要mysql实现分页查询的话,执行下述语句即可 select * from table limit (offset)5,(limit) ...

  7. Spring第一课:核心API(三)

    以上是Spring的核心部分,其中需要了解的是:BeanFactory.ApplicationContext[FileSystemXmlApplicationContext.ClassPathXmlA ...

  8. 再过五分钟,你就懂 HTTP 2.0 了!

    Hey guys ,各位小伙伴们大家好,这里是程序员 cxuan,欢迎你收看我最新一期的文章. 这篇文章我们来聊一聊 HTTP 2.0,以及 HTTP 2.0 它在 HTTP 1.1 的基础上做了哪些 ...

  9. JS 处理图片平铺问题

    background: url("../../../assets/image/center.png") no-repeat; // 让图片不平铺   overflow: hidde ...

  10. linux7(centos7)新系统安装后要做的事!

    前言: 初学者在安装linux(centos)系统后,需要对服务器的环境做些简单配置! 怎么联网? 怎么对SSH优化设置? 怎么在众多服务器中识别谁是谁? 常用的小工具推荐等等... ###网络优化设 ...