使用 Cygwin GDB 在 VS Code 中进行 C++ 调试:如何查看局部变量的值?

C++ Debug in VS Code with Cygwin GDB: How to view values of local variables?

我正在关注 Using GCC with MinGW 上的 VS Code 教程,但在调试器方面遇到了一些问题。

我已经安装了 Cygwin gcc-g++(版本:10.2.0-1),并且能够使用他们提供的基本“Hello World”源代码编译和创建 .exe。使用 Cygwin gdb(版本:9.2-1)进行调试也可以正常启动和执行。

调试器似乎工作正常:我可以看到局部变量,将变量添加到监视列表,逐步执行程序并根据需要设置断点。我的问题是变量列表看起来与参考教程中显示的大不相同,而且要复杂得多。

它显示了相当多的细节(使用的分配器、类型定义、指针值等)但没有(据我所知)显示调试时可以说是最重要的项目:变量 .

看下图就明白我的意思了。请注意,此处的变量“msg”与教程中声明的相同:

vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

我肯定在这里遗漏了什么,但无法弄清楚是什么。

我的问题是我使用的是 Cygwin 而不是 @sweenish 指出的 minGW。安装 minGW 并重新配置所有必需的设置(tasks.json/launch.josn/etc)后,变量会按预期显示。使用 Cygwin 实现的问题可能与“漂亮打印”库有关。