【问题标题】:VS Code: local variables not showing correctlyVS Code:局部变量未正确显示
【发布时间】:2020-06-23 15:05:35
【问题描述】:

很抱歉,如果以前有人问过这个问题,但我没有得到以前给出的答案。我是 VS Code 的新手,并且知道一点 C++ 编码。我尝试了 windows/mingw 的教程: https://code.visualstudio.com/docs/cpp/config-mingw#_step-through-the-code 到目前为止所做的一切。示例代码已经构建,我现在想调试,但是在调试时单步执行应用程序时,我的变量视图显示了一些不同的内容。 (见附图) 该单词应包含任何字符串,并且 msg 应显示不同的内容。不过,我的自制手表显示正确。这是怎么回事?我按照教程中的方法完成了所有操作。

另外:终端选项卡不会从 cout 输出消息,但我会在调试控制台中看到它。 (参见“设置手表”一章上方教程中的图片)

launch.json 是:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        

        {
            "name": "g++.exe - Aktive Datei erstellen und debuggen",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Automatische Strukturierung und Einrückung für \"gdb\" aktivieren",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"
        }
    ]
}

对不起,我是 vs 代码的新手:-/

【问题讨论】:

  • 调试控制台中-exec info pretty-printer的输出是什么?
  • 调试控制台显示:[...] gnu.org/software/gdb/bugs>。警告:未检测到 Debuggee TargetArchitecture,假设为 x86_64。 =cmd-param-changed,param="pagination",value="off" =cmd-param-changed,param="args",value="2>CON 1>CON ”执行调试器命令,例如 [...]
  • 我认为它已经解决了:我使用 64 位版本的 MinGW 重新安装,因为我有一个通过 mingw-get 运行的旧 32 位版本。现在一切看起来都不错。不相信它与 mingw 有关,因为它在 eclipse 下运行(我正在安装它作为比较 IDE)。

标签: c++ visual-studio-code mingw-w64


【解决方案1】:

我使用 sourceforge 的 64 位版本的 MinGW 重新安装,因为我有一个通过 mingw-get 运行的旧 32 位版本。

【讨论】:

    【解决方案2】:

    一个可能的原因是漂亮打印没有正确显示 UTF-8 内容。您可以:

    1. 将其设置为 UTF-8 字符集 (VSCode debugger having issues with character encoding)
    2. 禁用漂亮打印 (Cannot see any variable values while debugging)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多