Простая отладка GDB C ++ в VS Code завершается с 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

Когда я нажимаю зеленую стрелку «Начать отладку» на вкладке «Отладка», я получаю эту ошибку в консоли отладки:

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

Что я делаю неправильно? Я посмотрел на каждый учебник, и отладка C ++, кажется, работает для всех из них, за исключением моего случая. У меня также установлено расширение C / C ++ (Microsoft), и я использую Ubuntu 64-bit.

4

Решение

У меня была такая же проблема, не знаю почему, но настройка "externalConsole" в launch.json в false сделал трюк для меня.

Эта проблема была сообщил о Microsoft / vscode-cpptools 15 дней назад, происходит с v1.30.0, и должно быть исправлено в последней сборке инсайдеров.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]