CLion 2024.3 EAP 3: OpenCV Image Viewer and the Ability to Attach the Debugger to an Unstarted Process
The third CLion 2024.3 EAP build, 243.18137.40, is out. You can download it for free from the link below, via the Toolbox App, or as a snap package if you’re using Ubuntu.
This build introduces an OpenCV image viewer for you to use while debugging. It also gives you the option to attach the debugger to unstarted local processes. Some additional improvements, including to the CLion Nova language engine, round out EAP 3.
OpenCV image viewer
A new feature in the debugger will make developing OpenCV-based applications easier. The debugger now displays OpenCV images in a separate dialog and offers various editing options. This makes it easier to inspect how an image is being processed while debugging your application, and it’s more convenient than, for example, saving an image to a hard disk or writing an additional snippet of code to display it in a popup window.
When you’re debugging code that uses a two-dimensional OpenCV array, the debugger gives you the option to view it as an image. After you click View as image in the debugger’s Threads & Variables dialog, a window opens.
From this window, you can save the image as a .png file, change the color format, choose whether or not to reload it after the debugger steps, and more.
If you develop applications with OpenCV, please try out the image viewer and post your feedback to our issue tracker. We’ll consider it as we refine and extend this tool’s functionality.
Ability to attach the debugger to an unstarted process
Previously, CLion would allow you to attach the debugger only to local and remote processes that were already running. With this update, you can now attach it to unstarted local processes, which will automatically trigger debugging when they are started.
This feature is helpful when you need to debug an executable launched by a third-party program or a script – for example, if one part of your project is written in C++ and runs in CLion, while another is written in another language and runs in an external environment. With this new feature, you can attach CLion’s debugger to such external processes before they’ve started. The debugger waits for them to start and then connects to them automatically.
To try the feature:
- Set a breakpoint in your code.
- Select Run | Attach to an Unstarted Process… from the main menu.
- In the Command line field, add a pattern to find the process using wildcard characters:
*process_name*
. - Select the options you need.
- Select a debugger to attach.
The debugger will start watching the process.
Once the external process starts, the debugger will attach to it. Then, the debugging session will proceed as usual, with the program running and stopping at the breakpoints you set.
Other improvements
We continue to improve the performance and functionality of our CLion Nova language engine. Major updates in this EAP build include:
- Support for a variety of type trait primitives (CPP-39685). This also fixes some false positives for the latest versions of libc++ (CPP-40995).
- Memory usage optimization for projects running with compilation databases (CPP-40705). This is another step in our efforts to reduce CLion Nova’s memory footprint.
We’ve also updated the following bundled debuggers:
- GDB has been updated to 15.
- LLDB has been updated to 19 for macOS and Linux.
To learn more about other recent improvements in the 2024.3 EAP, check out the blog post about the CLion 2024.3 Early Access Program. For more information on the overall plans for this release, take a look at the CLion 2024.3 roadmap.
Call for feedback
Your feedback is important to us, as your experiences and insights are essential to our mission of continuously improving CLion. Please share your ideas in the comments section below or submit them to our issue tracker. We would also be interested in setting up a quick call with you to learn more about your specific use cases. Let us know if you would like to participate!
Your CLion team
JetBrains
The Drive to Develop