#c #debugging #vscode-debugger
Вопрос:
Я пытаюсь настроить отладку в своем проекте. Я скопировал то, что было в учебнике по отладке кода на C , и это сработало.
Это мои задачи.json:
{ "tasks": [ { "type": "shell", "label": "C/C : g build active file", "command": ["/usr/bin/g "], "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "Task generated by Debugger." }, ], "version": "2.0.0" }
Это работает нормально, однако он полагается на использование g вручную, и я хотел бы, чтобы он просто выполнил команду make. Поэтому я придумал этот код
{ "tasks": [ { "type": "shell", "label": "C/C : g build active file", "command": "make", "args": [ "Main" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "Build." } ], "version": "2.0.0" }
Выполнение этой задачи работает, и это делает проект. Однако, когда я попытался отладить его, он запустился, но не показал, какую строку кода я выполнял, и, пройдя через код, я просто возобновил бы выполнение программы. точки останова также ничего не сделали. Вот код для запуска.json
{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "g - Build and debug active file", "type": "cppdbg", "request": "launch", "program": "Main", "args": [], "stopAtEntry": true, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "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 } ], "preLaunchTask": "C/C : g build active file", "miDebuggerPath": "/usr/bin/gdb" } ] }
Как я могу этого достичь?
Любая помощь будет признательна.
Комментарии:
1. Похоже, в вашем файле make нет отладочных символов