CLion 2017.1 Release Candidate 2

Hi,

CLion 2017.1 is just around the corner, and today we are rolling out CLion 2017.1 Release Candidate 2 (build 171.3780.103). Give it a try, and if you find any bug at all, please file an issue in our tracker.


Download CLion 2017.1 RC2

Please note that to use CLion 2017.1 RC2 you need to have an active subscription (or start a 30-day evaluation period).

CLion 2016.3.5

We are also rolling out CLion 2016.3.5 update (build 163.15188.10). Check the release notes here.

Your CLion Team

JetBrains
The Drive to Develop

This entry was posted in Announcement and tagged , . Bookmark the permalink.

19 Responses to CLion 2017.1 Release Candidate 2

  1. Olof says:

    What changed in RC2? I can’t find a link to the list.

    • Anastasia Kazakova says:

      Nothing we can share as release notes. With the exception to several usual EAP->RC changes, it’s the same.

  2. Olof says:

    Is there a way to turn off seeing disassembly, or some way to step into but skip until next non disassembly view?

    Sometimes I want to see disassembly, but more often than not I prefer not to, such as stepping through multiple level of gtest code.

    I looked in settings and in the debug window but couldn’t find anything.

    Being forced to have it on is a step back in usability I feel.

    I think maybe the best solution is to have a toggle button in the debug window, or a check mark under settings in the debug window.

    • Anastasia Kazakova says:

      There is no such way for now, but we were considering it. Maybe you right and it’s worth implementing.

      • Olof says:

        I’m sorry for this late feedback about the debugger.

        If it can’t be a part of the user interface due to deadlines, I’d request that you at least make it configurable in idea.properties or some such thing.

        I think you’ll find that most people want it turned off most of the time. The disassembly you turn on in special circumstances.

        • Anastasia Kazakova says:

          Unfortunately, that’s not easy. We’ll consider if we can do smth in the first updates.

          • Anastasia Kazakova says:

            Seems the proper solution will be this: https://youtrack.jetbrains.com/issue/CPP-8978
            Going to have it ready for 2017.1.x update, hopefully one of the first.

          • Olof says:

            I’m glad that you are addressing it, but the wording has me a bit concerned.

            We don’t want to step over a function that doesn’t have source code in its entirety in all cases. If inside that function we get into a function that has source code then I think we want to step into that without having to step through the disassembly.

            My primary use case for this is debugging unit tests where my code is called by gtest code that doesn’t have source code available.

          • Anastasia Kazakova says:

            Not sure I got the comment. The suggestion was that without a special ‘button’ clicked you don’t get into disasm in case you don’t have source code. The case with the source code is the same as before.

          • Olof says:

            Then all is well.

          • Eldar Abusalimov says:

            Olof, regarding your suggestion:

            > We don’t want to step over a function that doesn’t have source code in its entirety in all cases. If inside that function we get into a function that has source code then I think we want to step into that without having to step through the disassembly.

            If I understand you correctly, you’d like to be able to step into some library code with no sources and only suspend in case it jumps into your code, just like qsort would invoke a user-provided comparator under the hood, right?

            I’m not quite sure it is technically possible at all. At least neither GDB nor LLDB provide such option, and I can understand why. Well, in theory, probably it could be possible to implement that for limited cases (for Linux targets, for example), but this this would require some non-trivial work on the GDB/LLDB side (if not in kernel/ptrace) to be done. It’s near to impossible without serious resource/time investment.

            There’s nothing we can do with this on our side, unfortunately. Sorry for that.

          • Olof says:

            Yes, like qsort.

            Ok, got it. Thanks for the answer.

  3. Jesse Connell says:

    Here’s the issue list filtered on “disassembly” here: https://youtrack.jetbrains.com/issues/CPP?q=disassembly

    I assume these issues don’t flow through a development process in serial – i.e. (1) user enters issue for desired feature, (2) issue is popped off queue in order it was entered and work is started. Moreover, a related set of issues/features tend to have a lot of overlap.

    I would hope/assume this overlap has been considered already, and the work done for “disassembly when source not available” was done with related issues in mind. If so, is there any way we could see a “road map” of some sort that shows what other disassembly-related features might be coming?

    Even a hint with a huge “subject to change” disclaimer? :)

    • Anastasia Kazakova says:

      For sure we do consider the whole scope of the issues around the feature. The roadmap for the upcoming 2017.2 will be announced later, most likely after the release.

      As for now, I can share that our top priorities are:
      – Ability to get disassembly code only when user really wants to. Most likely, we’ll implement some ‘force step in’ action or similar, so that usual stepping actions do not jump to disasm. (It’s obvious now that some solution is necessary, the exact one is still under discussion)
      – Disasm for LLDB (mostly because for macOS GDB is a huge pain)
      – Don’t show error for unknown disasm dialect (and in future support other dialects)
      – disasm on demand

Leave a Reply

Your email address will not be published. Required fields are marked *