Remote development
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 gdbserver/lldb-server, Remote Debug (GDB/LLDB) and Remote GDB Server (GDB only).
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 | Remote Debug | Remote GDB Server | |
---|---|---|---|---|
Local OS | macOS / Linux / Windows | Windows |
| macOS / Linux / Windows |
Remote OS | Linux | Certain Linux distributions |
| Any OS supporting gdbserver and SSH |
Connection protocol | 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 or lldb-server on target | gdbserver on target |
Sources location | Locally | Locally | Locally; symbol file also placed locally | Locally |
Synchronization | Automatic for all sources; | 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/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 |
Project-level settings
Full Remote Mode | WSL | 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 |