Windows中VS code无法查看C++ STL容器的值 - 解决方法

首先,你很可能用的是x64版本的Windows。

我发现一个有效的解决方法,但在x64版本的Windows上安装MinGW时,虽然官方推荐MinGW版本的是x86_64的,但实践后发现如果选择安装 x86_64的, 很可能Debug时会无法看到STL容器(vecotr、map等)的具体信息,看到的是相应的内存地址~

win32 版本的 MinGW官方下载地址:

MinGW-w64 - for 32 and 64 bit Windows download | SourceForge.net

然后添加对应mingw下的gdb.exe到launch.json文件下,如下图:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
    
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            // "miDebuggerPath": "C:\\VS\\Mingw\\bin\\gdb.exe",
            "miDebuggerPath": "C:\\VS\\mingw2\\i686-8.1.0-release-posix-dwarf-rt_v6-rev0\\mingw32\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}

问题解决!

参考文章:Windows中VS code无法查看C++ STL容器的值 - 解决方法 - 知乎 (zhihu.com)

猜你喜欢

转载自blog.csdn.net/ljh1528207303/article/details/130588499
今日推荐