CLion 2017.1 EAP: Disassembly view, Catch support and MSVC changes

Posted on by Anastasia Kazakova

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).


Download CLion 2017.1 EAP

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:
disasm
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!
catch
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:
    registry_on_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):
    messages
  • CMake settings for MSVC were updated with some hints for the possible values:
    settings_hints

That’s it! The full release notes are available here.


Download CLion 2017.1 EAP

The CLion Team
JetBrains
The Drive to Develop

Comments below can no longer be edited.

17 Responses to CLion 2017.1 EAP: Disassembly view, Catch support and MSVC changes

  1. Olof says:

    March 2, 2017

    Is 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, 2017

      There’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, 2017

        The second one would be brilliant, but the first one would be great.

        I’m happy with great.

  2. 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, 2017

      Thanks, we’ll check. But most likely we won’t be able to finish before 2017.1, but maybe some later updates, we’ll see.

  3. Brendan Bates says:

    March 2, 2017

    Awesome, 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, 2017

      Let us know how it goes! Thanks.

  4. Sebastian says:

    March 3, 2017

    I 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, 2017

      Yes, this is more or less by design. We’ll provide some additional information about JDK changes later today.

  5. Alexander Zaitsev says:

    March 3, 2017

    Hello.

    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?

  6. John says:

    March 3, 2017

    Curious 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, 2017

      It’s currently planned for March – April.

  7. Sebastian says:

    March 8, 2017

    I 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, 2017

      Yes, current implementation works with CMake+NMake only.

  8. Tangyq says:

    April 6, 2017

    Curious 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, 2017

      Now 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?

Subscribe

Subscribe for updates