CLion 2020.3 Goes Beta: It’s All About Debug!
CLion 2020.3 has reached Beta! Build 203.5981.40 is available from our website, via the Toolbox App, or as a snap package (for Ubuntu).
The CLion 2020.3 EAP has already introduced a couple of performance-enhancing features to the debugger:
And there’s even more in the Beta!
Run/debug as root
CLion 2020.3 can run and debug your application with root privileges. A new setting “Run with Administrator privileges”/“Run with root privileges” is available to Run/Debug configurations for CMake, Makefile, Gradle Native, Custom Build, and all supported unit test applications:
When it’s selected, CLion will launch the configuration with root privileges for running and debugging. This works on all platforms and for all toolchains (including WSL and Remote mode).
Some notable limitations:
- For MinGW and Cygwin on Windows, there is an issue with pausing the debug session (CPP-22883).
- Attaching the debugger to a local process that is already running under root privileges is not possible yet (CPP-7067).
- When running under root privileges with a profiler on macOS, the process isn’t finished correctly (CPP-22842). Running with a profiler under root privileges on Linux works as expected.
Running and debugging with root privileges requires authorization. If you don’t want to authorize each time you run or debug, a new elevation service can help and keep the authorization for a configured amount of time. The default is 15 minutes, but it can be changed in Settings/Preferences | Appearance & Behavior | System Settings | Process Elevation:
For added convenience, the first time the user tries to run or debug an application with elevated privileges, the authorization dialog will present them with the option to authorize every time, or grant authorization for the configured period:
Please note that enabling such elevation grants the IDE and all its components, including third-party plugins, unrestricted access to your system.
The IDE doesn’t have access to any passwords – authorization is carried out via a system dialog. After the configured root elevation time runs out, the service only continues to handle already running processes and can’t start new ones with root privileges until it is authorized again.
For remote mode, an issue with the overall elevation configuration is known and will be addressed in the future (CPP-22920).
Interactive hints and Inline watches
CLion facilitates the debugging process by showing you the values of the variables right next to their usage. In v2020.3 you can interact with these inline hints! Now when the application is running in debug mode, the editor displays clickable inline hints that you can expand to see all the fields belonging to a given variable. You can also change the variable values inside the drop-down list by clicking Set Value.
You can still add and see Watches under the Variables tab of the Debug tool window, and you can now add inline Watches in the editor. To do this, click on Add as Inline Watch in the same popup. Alternatively, you can use the Add Inline Watch action from the context menu.
The CLion 2020.3 Beta build also includes performance fixes for detecting Google Tests in projects (CPP-22482) and a few enhancements to the Extract Function refactoring.
Your CLion team
The Drive to Develop