Как отлаживать в VS-коде с помощью lldb?

#c #debugging #visual-studio-code #llvm #lldb

#c #отладка #visual-studio-код #llvm #lldb

Вопрос:

Я пытаюсь отладить простую программу на C , но ничего не происходит, и точки останова также не работают. Задача сборки выполняется нормально, и я могу запустить приложение.

задачи.json

 {  "tasks": [  {  "type": "cppbuild",  "label": "C/C  : clang  .exe build active file",  "command": "F:\Programs\LLVM\bin\clang  .exe",  "args": [  "-fdiagnostics-color=always",  "-g",  "${file}",  "-o",  "${fileDirname}\${fileBasenameNoExtension}.exe"  ],  "options": {  "cwd": "${workspaceFolder}"  },  "problemMatcher": [  "$gcc"  ],  "group": {  "kind": "build",  "isDefault": true  },  "detail": "Task generated by Debugger."  }  ],  "version": "2.0.0" }  

запуск.json

 {  "version": "0.2.0",  "configurations": [  {  "name": "clang  .exe - Build and debug active file",  "type": "cppdbg",  "request": "launch",  "program": "${fileDirname}\${fileBasenameNoExtension}.exe",  "args": [],  "stopAtEntry": true,  "cwd": "${workspaceFolder}",  "environment": [],  "externalConsole": false,  "MIMode": "lldb",  "miDebuggerPath": "F:\Programs\LLVM\bin\lldb-vscode.exe",  "setupCommands": [  {  "description": "Enable pretty-printing for gdb",  "text": "-enable-pretty-printing",  "ignoreFailures": true  }  ],  "preLaunchTask": "C/C  : clang  .exe build active file"  }  ] }  

Когда я нажимаю F5, у меня есть это в терминале:

 PS F:ProjectsConsole Appstestbuildgt; amp; 'c:Usersdaniil.vscodeextensionsms-vscode.cpptools-1.7.1debugAdaptersbinWindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-4pf1un21.l04' '--stdout=Microsoft-MIEngine-Out-tpjfi4ip.jse' '--stderr=Microsoft-MIEngine-Error-2nkku53m.1iw' '--pid=Microsoft-MIEngine-Pid-xscepzdp.k00' '--dbgExe=F:ProgramsLLVMbinlldb-vscode.exe' '--interpreter=mi'  

Но у меня нет никаких выходных данных моей программы, кнопки перехода/входа/выхода выделены серым цветом, а точки останова не работают.

Ответ №1:

В launch.json мне пришлось написать «lldb», а не «cppdbg». Теперь это работает.