Remote development
Last modified: 02 July 2021
There are several options for remote development in CLion, each targeting a particular subset of the setups: Full Remote Mode, WSL, and two variants of using GDB/gdbserver, GDB Remote Debug and Remote GDB Server.
Watch this webinar recording and refer to the tables below for a summary on remote development options in CLion.
System and IDE configuration
Full Remote Mode | WSL | GDB Remote Debug | Remote GDB Server | |
---|---|---|---|---|
Local OS | macOS / Linux / Windows | Windows | macOS / Linux / Windows | macOS / Linux / Windows |
Remote OS | Linux | Certain Linux distributions | Any OS supporting gdbserver | Any OS supporting gdbserver and SSH |
Connection protocol | SSH | SSH | TCP / UDP or serial line | TCP / UDP or serial line; SSH for uploading |
Required tools | rsync for macOS / Linux clients; tar for Windows clients | - | gdbserver on target | gdbserver on target |
Sources location | Locally | Locally | Locally; symbol file also placed locally | Locally |
Synchronization | Automatic for all sources; manual resync of header search paths | Not required | Manual | Automatic for the binary |
Building | Remotely | On WSL | Not specified | Locally (cross-compilation required) |
Running Debugging | Remotely | On WSL | Program runs remotely under gdbserver; CLion's GDB connects to the running process and debugs it locally | Similar to GDB Remote Debug |
Project-level settings
Full Remote Mode | WSL | GDB Remote Debug | Remote GDB Server | |
---|---|---|---|---|
Project format | CMake / Makefile | CMake / Compilation database / Makefile | Any | CMake |
Toolchain | Remote | WSL | Not specified | Default on macOS/Linux; MinWG, Cygwin, WSL on Windows |
Path mappings | Created automatically, customizable in deployment entry | Not required | Not created automatically, should be set up in run/debug configuration | Not created automatically, should be set up in run/debug configuration |