VS Code 上的简单 GDB C++ 调试失败并出现 NullReferenceException

Simple GDB C++ debugging on VS Code fails with a NullReferenceException

我的来源file.cpp:

#include <iostream>
using namespace std;
int main()
{
    int x = 1;
    int y = 2;
    cout << x + y << endl;
    return 0;
}

我使用g++ -g file.cpp编译它,然后我的launch.json文件是这样的:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

我的目录结构是:

- workspaceFolder
  - .vscode
    - launch.json
  - a.out
  - file.cpp

当我单击调试选项卡中的绿色 "Start debugging" 箭头时,我在调试控制台中收到此错误:

Stopping due to fatal error: NullReferenceException: Object reference not set to an instance of an object

我做错了什么?我查看了所有教程,调试 C++ 似乎适用于所有教程,但我除外。我还安装了 C/C++ (Microsoft) 扩展程序,并且是 运行 Ubuntu 64 位。

我遇到了同样的问题,不知道为什么,但是将 launch.json 中的 "externalConsole" 设置为 false 对我有用。

这个问题是 reported on Microsoft/vscode-cpptools 15 天前的,自 v1.30.0 以来一直在发生,应该在最新的内部人员版本中得到修复。