CLion 2017.1 EAP: Disassembly view, Catch support and MSVC changes
Hi,
Last week we announced experimental support for the Visual C++ compiler in CLion. This week brings more exciting features, like disassembly view for debugger and Catch test framework support! A new EAP build, 171.3691.13, is now available for download. And you will get a notification about a patch-update in case you are using the previous EAP build (171.3566.4).
In this EAP:
Disassembly view for debugger
This build brings disassembly view for debugger. You can now step into disassembly code, when the sources are not available. The assembly code will be highlighted correctly and you can then step though it to investigate the problem:
As work on this feature is not yet finished, there are a couple of limitations and known issues:
- It now works only with GDB (for LLDB support, please, follow CPP-8908)
- Setting a breakpoint in the assembly code in not possible (CPP-8910)
- Run to cursor (CPP-8945) and evaluate expression (CPP-8952) are not yet there
Try the disassembly view on your project and let us know what you think in our tracker.
Catch
This EAP brings Catch support to CLion. Catch is a cross-platform test framework for C++ which you might consider as an alternative to Google Test, CppUnit and others due to following reasons:
- To start you just need to include catch.hpp and that’s it! No external dependencies are used and it’s just a single header
- Write test cases as, self-registering, functions or methods
- Cases can be organized into sections, BDD-style Given-When-Then sections can be used
And now there is one more reason – CLion’s Catch support!
It includes:
- Built-in test runner to inspect the results with ease: check the progress bar, test status and test duration, the whole test output stream, and more
- Catch run/debug configurations in CLion
- Completion for tags in the configuration settings
CLion support Catch v1.7.2 and higher. To learn more about Catch itself and its support in CLion read this blog post by Phil Nash, the original author of Catch and developer advocate here at JetBrains.
MSVC fixes
The previous EAP build introduced experimental support for the Visual C++ compiler in CLion. It’s now possible to build projects with MSVC/CMake/NMake toolchains on Windows. A few fixes and usability changes were added this time:
- If you were using VM option to turn on the MSVC support, please, revert it back (remove custom VM options file from configs) and use Registry: in Find Action dialog (
Shift+Ctrl+A
on Linux/Windows,⇧⌘A
on macOS) type Registry; open Registry and type msvc:
- VS 2013 is now also supported (in addition to VS 2015 and VS 2017)
- CLion now auto-detects the Visual Studio versions installed on the machine
- Navigation through compiler errors was introduced (links to the code were added, as well as navigation to the previous/next error):
- CMake settings for MSVC were updated with some hints for the possible values:
That’s it! The full release notes are available here.
The CLion Team
JetBrains
The Drive to Develop
Olof says:
March 2, 2017Is it possible to see the assembly even when the source code is present?
I often want to see what got generated for code where performance matters.
Eldar Abusalimov says:
March 2, 2017There’re such requests in our tracker:
– https://youtrack.jetbrains.com/issue/CPP-9091 For showing disassembly of an arbitrary frame/function while debugging
– https://youtrack.jetbrains.com/issue/CPP-1742 Show disassembly of a function without using a debugger, much like the Compiler Explorer (godbolt.org) does
Chances are, the first one (CPP-9091) will be included in the upcoming release or one of its minor releases, although I can’t guarantee that at this point. The second one (CPP-1742) is more general one and requires thorough preparation, so it won’t be implemented in 2017.1, alas.
Olof says:
March 2, 2017The second one would be brilliant, but the first one would be great.
I’m happy with great.
Sebastian says:
March 2, 2017@Anastasia,
thanks for taking 2013 into consideration and adding support for it so quickly. Thats great news. Also assembly view will be very interesting.
An unrelated question. Could you take a look at this issue, it very much looks like a low-hanging-fruit to me, that should be easy to fix. Maybe you can consider it for the 2017.1 release? Here is the link: https://youtrack.jetbrains.com/issue/CPP-6891
Cheers
Sebastian
Anastasia Kazakova says:
March 3, 2017Thanks, we’ll check. But most likely we won’t be able to finish before 2017.1, but maybe some later updates, we’ll see.
Brendan Bates says:
March 2, 2017Awesome, I will be trying out the MSVC 2015 support tomorrow morning. Cannot wait for this version, thanks for all of the hard work!
Anastasia Kazakova says:
March 3, 2017Let us know how it goes! Thanks.
Sebastian says:
March 3, 2017I just installed this EAP and noticed that the fonts in all editors are really tiny. Using Ubuntu 16.04 on this computer here.
Anastasia Kazakova says:
March 3, 2017Yes, this is more or less by design. We’ll provide some additional information about JDK changes later today.
Alexander Zaitsev says:
March 3, 2017Hello.
Can you tell me please, is there any chance o not, that in the future in Clion will be available good wrappers for Qt debugging?
Anastasia Kazakova says:
March 3, 2017We do consider this task for the future: https://youtrack.jetbrains.com/issue/CPP-605
John says:
March 3, 2017Curious if there is an estimated release date for 2017.1? Mostly just looking for weeks vs months for planning purposes.
Anastasia Kazakova says:
March 3, 2017It’s currently planned for March – April.
Sebastian says:
March 8, 2017I am trying the latest EAP with MSVC 2013 support. I just noticed that the generator that is being used is the following: `-G “CodeBlocks – NMake Makefiles”`, I was expecting to see `-G “Visual Studio 12 2013″`. Is that intended?
Anastasia Kazakova says:
March 9, 2017Yes, current implementation works with CMake+NMake only.
Tangyq says:
April 6, 2017Curious if it is possible to disable disassembly view for debugger? Sometimes it brings annoyance when the program step into disassembly view.
Anastasia Kazakova says:
April 6, 2017Now not, that’s why we plan to move it to the special stepping action – force step into (https://youtrack.jetbrains.com/issue/CPP-8978), so that usual step into won’t fall into disassembly. However, as a workaround can’t you just do a step over?