Отладка с++ файлов в среде VS code конечно же есть, но настройка не совсем тривиальная по причине слишком большого количества расширений, где по сути весь функционал для среды разработки и заложен.
Вот так выглядит отладка, когда она работает:

Но чтобы отладка заработала сначала лучше вспомнить фундоментальные моменты отладки.
gdb
Во первых мы говорим про gdb отладчик.
/Zi
Во вторых надо компилировать файлы с ключом /Zi. Это для компилятора от microsoft соответственно (cl.exe).
В cmake (если вы конечно его используете для сборки) надо добавить:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zi")
pdb
В результате в каталоге (куда собирается наш проект) вместе с исполнимым файлом появится *.pdb файл (это символьная информация для отладки).
Без pdb отладка не пойдет.
Поиск работающего отладчика из расширений
Их совсем оказывается не мало. К тому же они работают в разных режимах.
launch.json
Все отладчики прописывают свои настройки в файле launch.json .
Приведу файл launch.json, в котором работает только вариант отладчика "name": "(Windows) Launch", но он заработал первым, а до этого была череда неудач:
{
"configurations": [
{
"name": "(Windows) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}\\msvc-2022x86_amd64\\Debug\\test1.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"console": "externalTerminal",
"visualizerFile": "c:\\Users\\p\\AppData\\Roaming\\Code\\User\\workspaceStorage\\c3e9640b9d6421b32424420c8bcfe274\\tonka3000.qtvsctools\\qt.natvis.xml"
},
{
"type": "vgdb",
"request": "attach",
"name": "C/C++ Debug Attach",
"program": "${workspaceFolder}\\msvc-2022x86_amd64\\Debug\\test1.exe"
},
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}\\msvc-2022x86_amd64\\Debug\\test1.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [
{
"name": "config",
"value": "Debug"
}
],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"visualizerFile": "c:\\Users\\p\\AppData\\Roaming\\Code\\User\\workspaceStorage\\c3e9640b9d6421b32424420c8bcfe274\\tonka3000.qtvsctools\\qt.natvis.xml"
},
{
"type": "cmake",
"request": "launch",
"name": "CMake: Configure project",
"cmakeDebugType": "configure",
"clean": false,
"configureAll": false
},
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003
},
{
"type": "cmake",
"request": "launch",
"name": "Debug portfile(s)",
"cmakeDebugType": "external",
"pipeName": "\\\\.\\pipe\\vcpkg_ext_portfile_dbg",
"preLaunchTask": "Debug vcpkg commands"
}
]
}
В общем у нас заработал отладчик GDB Debug v1.0.7 от DamianKoper:
