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

文章指出,在x64版本的Windows上,使用x86_64的MinGW进行C++开发时,可能会在调试过程中无法查看STL容器的详细信息,只显示内存地址。作者推荐安装win32版本的MinGW(如x86_32),并提供了官方下载链接。同时,文章还指导读者如何修改VSCode的launch.json配置文件,特别是指定了gdb的路径,以正确地使用gdb调试器进行C++程序的调试。
摘要由CSDN通过智能技术生成

首先,你很可能用的是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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值