CLion 2022.3 Help

Remote development

There are several options for remote development in CLion, each targeting a particular setup:

Watch this webinar recording and refer to the tables below for a summary on remote development options in CLion:

Tables below can help you decide which of the remote options to choose depending on various factors, such as the combination of your local OS and your remote OS, the project model you are working with, whether building on target is required, and so on.

Remote options: System and IDE configuration

Gateway vs remote with local sources

Remote with Gateway

Remote with local sources

IDE running

Remotely

Locally

Local OS

macOS / Linux / Windows

macOS / Linux / Windows

Remote OS

Linux, including WSL2

Linux

Connection protocol

SSH / Space integration

SSH

Required tools

CLion or Standalone Gateway on the local machine,

CLion on the remote machine (can be installed via Gateway)

rsync for macOS / Linux clients;

rsync or tar for Windows clients

Sources location

Remotely

Locally

Synchronization

Not required

Automatic for all sources;

manual resync of header search paths

Building

Remotely

Remotely

Run/Debug

Remotely

Remotely

    WSL2 and Docker

    WSL2

    Docker

    Local OS

    Windows

    macOS / Linux / Windows

    Remote OS

    Certain Linux distributions

    Containerized OS distributions

    Connection protocol

    -

    Docker for OS

    Sources location

    Locally

    Mounted folder

    Synchronization

    Not required

    Automatically

    Building

    On WSL

    Inside the container

    Run/Debug

    On WSL

    Inside the container

      Remote debug

      Remote Debug

      Remote GDB Server

      Local OS

      macOS / Linux / Windows for GDB;

      macOS / Linux for LLDB

      macOS / Linux / Windows

      Remote OS

      Any OS supporting gdbserver for GDB;

      macOS / Linux or another supporting lldb-server for LLDB

      Any OS supporting gdbserver and SSH

      Connection protocol

      TCP / UDP or serial line

      TCP / UDP or serial line;

      SSH for uploading

      Required tools

      gdbserver or lldb-server on target

      gdbserver on target

      Sources location

      Locally;

      symbol file also placed locally

      Locally

      Synchronization

      Manual

      Automatic for the binary

      Building

      Not specified

      Locally (cross-compilation required)

      Run/Debug

      Program runs remotely under gdbserver/lldb-server;

      CLion's GDB/LLDB connects to the running process and debugs it locally

      Program runs remotely under gdbserver;

      CLion's GDB connects to the running process and debugs it locally

        Remote options: Project-level settings

        Gateway vs remote with local sources

        Remote with Gateway

        Remote with local sources

        Project format

        CMake / Compilation database / Makefile

        CMake / Makefile

        Toolchain

        System toolchain

        Remote toolchain

        Path mappings

        Not required

        Created automatically,

        customizable in deployment entry

          WSL2 and Docker

          WSL2

          Docker

          Project format

          CMake / Compilation database / Makefile

          CMake / Makefile

          Toolchain

          WSL

          Docker

          Path mappings

          Not required

          Configurable in container settings

            Remote debug

            Remote Debug

            Remote GDB Server

            Project format

            Any

            CMake

            Toolchain

            Not specified

            Default on macOS/Linux;

            MinWG, Cygwin, WSL on Windows;

            Remote and Docker toolchains also available

            Path mappings

            Not created automatically,

            should be set up in run/debug configuration

            Not created automatically,

            should be set up in run/debug configuration

              Last modified: 13 January 2023