Unable to inspect the STL containers during debug

I have a problem inspecting any kind of stl containers.std:string, std:vector , everything I have tried I can't inspect the contents.

Following this https://blog.jetbrains.com/clion/2015/02/clion-eap-news-cmake-3-1-stl-renderers-in-debugger-pty-and-more/  it is supposed that I get a pretty render of a container

which is exactly what I was expecting.

In my case though it seems that I get the raw contents of the vector.Here is what I get

I use MinGw in Windows 10 and cmake.

I am sure that I am missing something fundamental.But I spend the whole day trying to figure out what I am missing.Any ideas?

2
45 comments

Hi,

To share my complete findings: I've already tried 5 Windows toolchains, here is which print the STL collections nicely:

  • MSVC 2019 - OK (but you have to select the Visual Studio, not the build tools as the toolchain)
  • MSVC 2019 Preview - OK
  • MinGW 64 official SourceForge toolchain - OK
  • MinGW 64 from Nuwen - NOT OK (because it is built without Python support)
  • MSYS2 - OK

Hope it helps!

0

David Fido Fiedler thanks a lot for sharing! 

As for "MSVC 2019 - NOT OK": do you have a complete Visual Studio installation or VS19 BuildTools?

0

Anna Falevskaya I have a full Visual Studio Community 2019 installation, version 16.5.5 

0

David Fido Fiedler that's strange. Please send examples of particular cases which doesn't work or a simple project with which the issue can be reproduced to clion-support at jetbrains.com, we will investigate it.

0

From my side I cannot give any updates as we decided to migrate out build env back to debian. Now we can use gdb 8.2.1 and it works fine.

I cannot check lldb, because we deleted it from our building images.

0

I had the same issue, testing several versions of MinGW64. The problem is fixed installing python2.7 on my machine.

0

Anna Falevskaya Yes I had NatVis rendering enabled.

I was using VS Studio 2017 Community.

Using MinGW-w64 8.3.1 gives the same result.

 

0

Anna Falevskaya It turns out that VS 2019 Community build tools work, but not 2017, so the problem is solved for me. MinGW-64 - the version you linked and the one from the page from Clion's download button - do not work on Win10 with most recent Clion.

0

Same problem here with latest mingw-w64 posix seh x86-64 build from SourceForge and CLion 2020.3. David mentioned earlier that MSVC builds generally seem to work. Is there a way to download them separately, or do I have to install the IDE as well? Also, any other workarounds / toolchains that work?

0

The same issue happened to me. It worked after I unchecked "Enable GNU C++ library renderers" in Settings.

7

Debneil My environment is the same as yours. When debugging in clion 2019.3, I can see the real value in the vector. After upgrading to clion 2020.3, something went wrong, but it is still normal in vscode.

Whyharry9 My problem is solved using your method, why does it work?

0

Fuchengshun we have a regression in CLion 2020.3 with MinGW - https://youtrack.jetbrains.com/issue/CPP-23244. Disabling "Enable GNU library renderers" is a workaround.

We are working on the issue right now. Feel free to comment or upvote the issue in order to get updates. See https://intellij-support.jetbrains.com/hc/en-us/articles/207241135-How-to-follow-YouTrack-issues-and-receive-notifications if you are not familiar with YouTrack.

Sorry for the inconvenience. 

1

I'm having the same issues on macOS. I have disabled "Enable GNU library renderers", but I'm still experiencing the same issue.

0

From File -> Settings -> Build, Execution, Deployment -> Debugger -> C/C++ -> uncheck Enable GNU C++ library renderers as shown in the below screenshot. STL containers are now visible.

0

I had the same issue. CLion version 2022.2.1. I re-added the MinGW tools in File -> Settings -> Build, Execution, Deployment -> Toolchains. Because of this, I had to rebuild the configuration. After that, everything showed up again. At the same time, a check mark is set in File -> Settings -> Build, Execution, Deployment -> Debugger -> C/C++ -> uncheck Enable GNU C++ library renderers

0

Please sign in to leave a comment.