WhatAKitty Daily

A Programmer's Daily Record

构建C远程开发环境

WhatAKitty   阅读次数loading...

背景

最近在学习Linux内核体系知识,需要C的一个编译环境。但是由于笔者使用环境为MacOS,并非使用的Linux体系操作系统,在进行内核编程的时候就无法调用linux系统函数;然后在折腾了一遍ubuntu虚拟机、实体机(显卡问题)后,意外发现了CLion的远程调试功能。

构建远程编译环境

CLion的远程运行环境需要如下程序:

  • rsync(for macos or linux locally)
  • sftp & gzip(for windows locally)
  • CMake(2.18.x-3.14.x)
  • Make
  • C compiler
  • C++ Compiler
  • GDB(7.x-8.x)

安全完成后,配置如下:

  • 配置远程调试:
    配置remote

  • 配置认证:
    配置ssh

完成配置后,会自动同步一次源文件到/tmp目录下的某个临时文件夹内。

注意:如果需要重新同步,只需要右键项目,选择Reload CMake Project即可。

远程调试原理

远程调试原理

CLion的远程调试基于文件传输以及GDB服务:

  1. 上传项目目录至远程服务器【mac或者linux使用rsync,windows使用sftp和gzip同步程序】
  2. 远端检索所有头文件,并下载缓存到本地的.remote/${ip}_${port}/文件夹下
  3. Debug的时候,同步Debug标记文件和二进制文件【具体单点调试步骤未知,TODO】

附录