迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

gdbserver 配合 Clion 实现远程调试

作者:迹忆客 最近更新:2022/08/02 浏览次数:

远程机器环境

gcc
gcc-c++
gdb
gdbserver
cmake

上面这些工具都可以使用 yum install 进行安装(linux环境)

工具安装完成之后,新建你的工作目录。如:/root/workspace/c/sock_exp, 这就是我们的项目代码


本地项目和Clion配置

首先使用clion新建项目,并且对其进行设置,从而使其可以和远程机器进行代码同步。(本地使用mac系统)

  • 项目新建在/Users/my/workspace/c/sock_exp.
  • 使用sftp和远程机器进行代码同步。过程如下

使用sftp和远程机器进行代码同步

项目新建完成,并且也能和远程机器进行同步之后。开始将我们的项目代码同步到远程机器上面。

注意: 用CLion新建的项目会自动生成CMakeList.txt 文件。所以在远程机器上可以使用cmake来构建项目,然后使用make来编译。 在使用cmake构建项目的时候,可能由CLion自动生成的CMakeList.txt文件中要求的cmake版本高于远程机器上的cmake版本。我们可以自己修改CMakeList.txt使其符合远程机器上的cmake版本。代码如下

cmake_minimum_required(VERSION 2.6)

远程机器编译项目

首先进入/root/workspace/c/sock_exp ,新建 build目录。 然后进入该目录

$ cd /root/workspace/c/sock_exp
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_BUILD_TYPE=Debug # -DCMAKE_BUILD_TYPE=Debug 用来指定编译后的程序支持使用gdb进行调试
$ make

执行完之后,就会在build目录下生成编译的文件和可执行的命令。 然后使用gdbserver来开启远程调试服务

$ gdbserver :9002 /root/workspace/c/sock_exp/build/sock_exp

程序在9002端口上进行监听。


本地CLion配置远程调试

在CLion上进行配置如下

远程调试 clion配置演示

完成配置之后,在相应的地方加上断点,然后点击debug按钮即可进行远程调试。

clion 加断点调试

上面整个过程中会用到cmake技术。当然,对于很简单的项目可以直接使用 gcc 加上 -g 选项进行编译,同样也可以使程序支持调试。 但是对于复杂的项目就需要借助 cmake和 make来进行构建和编译项目了。 cmake 和 makefile 的知识不是这里的重点,上面只是一个配置远程调试的过程。对于这些知识后续会继续学习。

本站文章均为原创或翻译,转载请发邮件至 1244347461@qq.com 进行申请,未经许可,禁止转载。经作者同意之后,转载请以链接形式注明出处

本文地址:

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

热门文章

教程更新

热门标签

扫码一下
查看教程更方便