Я использовал vscode и gdb (mingw) для отладки cpp в Windows.Но однажды это не работает, до сих пор.
Мой предыдущий рабочий процесс: кодирование -> установка точки останова -> сборка -> запуск отладки -> отладка шаг за шагом, но теперь, когда я запускаю отладку, он зависает.
После того, как я нажму Отладка-> Начать отладку, preLaunchTask запускается нормально.Файл .exe генерируется, и он работает надлежащим образом, если он запускается вне vscode.Затем начинается процедура запуска, и терминал открыт, в верхней части отображается поплавок, и в терминале выполняется команда.
Но проект не запускается и не блокируется на моей точке останова и, конечно, не выдает мой вывод.Я получил термалин с командой, которая никогда ничего не выводит и никогда не получает никакого ввода, кроме ctrl-c,
ying@DESKTOP-5GV0Q9R MINGW64 /d/project/leetcode (master)$
env c:\\Users\\ying\\.vscode\\extensions\\ms-vscode.cpptools-0.23.1\\debugAdapters\\bin\\WindowsDebugLauncher.exe
--stdin=Microsoft-MIEngine-In-hm3amha1.us3
--stdout=Microsoft-MIEngine-Out-vlas2vht.meb
--stderr=Mi crosoft-MIEngine-Error-c1e3oyr5.kel
--pid=Microsoft-MIEngine-Pid-ij4mrymv.zxl
--dbgExe=C:\\mingw-w64\\x86_64\\mingw64\\bin\\gdb.exe
--interpreter=mi
плавающая панель с тремя серыми кнопками, и что-то летит слева направо вечно,
Когда я пытаюсь использовать ctrl-c для остановки программы, VSCode выдает следующее предупреждение:
Undefined command "". Try "help".
Я думаю, что .exe не передается в gdb, но не знаю какчтобы знать, что на самом деле произошло.
Я использую:
- windows10 1903 18362.145
- vscode 1.35.0 (обновление сегодня, но это происходит за несколько недель до этого)
- gdb8.1 (mingw-w64 x86_64-posix-seh-rev0)
Вот мой файл launch.json.Большинство копий из https://code.visualstudio.com/docs/cpp/config-mingw#_configure-debug-settings
"configurations": [
{
"name": "g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw-w64\\x86_64\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++.exe build active file"
}
]
Попытка конвертировать externalConsole
из false
в true
не решает эту проблему, и консоль не отображается так, как я хочу.Я использую helloworld.cpp по умолчанию и точку останова в строке cout
.Это не может быть ошибкой кода.Но для всего моего кода отладка ведет себя одинаково.
Пожалуйста, укажите причину и / или решение моего случая, или где я могу найти его самостоятельно.Любая помощь будет оценена.