zoukankan      html  css  js  c++  java
  • CLion远程调试嵌入式开发板程序

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

    1. 目的

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

    2. 前提条件

    板端:具有gdb-server
    主机:能够编译目标板的程序

    3. CLion设置

    3.1 设置一个Deployment

    (其实官方步骤里没写这步,但实践看设置一下非常方便后面得使用)
    image
    其中SSh configuration就是板子的ssh连接配置。
    再设置一下mappings中的Deployment path, 也就是本地路径同步到板子的哪个路径:
    image
    还可以设置一下Excluded Paths, 也就是哪些路径不同步到板子,因为板子只是跑下程序,所以代码、其他编译目录等都可以设置不传。
    image
    点击完成,第一步配置就OK了。

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

    右键想要同步的目录或文件,Deployment->UploadXXX(对应板子deployment)即可。
    image
    也可以设置为自动同步,每次有修改,就会自动同步到板子:
    image
    如果有文件上传,会有日志:
    image

    3.3 设置一个Remote GDB Server

    Run->Edit Configures:
    image
    要设置上传路径,直接设置为我们在3.1中设置的目录即可,
    设置GDB Server的启动参数, 格式为 :端口号 程序路径 程序启动参数。 如上图 ":1234 xxx -h 192.168.17.82"
    如果程序需要依赖板子其他路径的库,在Environment 中设置。
    至此,设置完成。就可以像本地一样打断点debug了。
    image
    image

    总结

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

    本文来自博客园,作者:haoliuhust,转载请注明原文链接:https://www.cnblogs.com/haoliuhust/p/15334668.html

  • 相关阅读:
    架构设计:系统存储(1)——块存储方案(1)
    《Linux设备节点创建》用户空间ueventd创建设备节点规则
    架构设计:系统间通信(45)——阶段性问题记录
    队列
    链栈
    顺序栈
    入栈问题
    队列
    数学表达式配对栈
    链表设置
  • 原文地址:https://www.cnblogs.com/haoliuhust/p/15334668.html
Copyright © 2011-2022 走看看