Я программирую на С ++, используя docker. Недавно я попытался настроить мой отладчик GDB в VSCode, чтобы помочь с некоторыми проблемами, которые у меня были, и оказалось, что это было более трудной задачей, чем я думал. Я подошел близко, но продолжаю получать ошибку Error: Unable to resolve non-existing file '/mnt/files/p5-student/src/main.cpp'
. Я не уверен, почему это происходит.
Я следовал большинству инструкций из этого поста, но я пропустил приличное количество шагов, потому что я не Я не хочу создавать новое docker изображение, я просто хочу использовать его, предоставленное моим профессором.
Это мой запуск. json:
{
"version": "0.2.0",
"configurations": [{
"name": "(gdb) Pipe Launch",
"type": "cppdbg",
"request": "launch",
"program": "/mnt/files/p5-student/main",
"cwd": "/mnt/files/p5-student",
"args": [],
"stopAtEntry": true,
"environment": [],
"externalConsole": true,
"pipeTransport": {
"debuggerPath": "/usr/bin/gdb",
"pipeProgram": "docker",
"pipeArgs": ["exec", "-i", "os_container", "sh", "-c"],
"pipeCwd": "${workspaceRoot}"
},
"MIMode": "gdb",
"setupCommands": [{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}]
}, ]
}
Мой код хранится в моем docker контейнере в /mnt/files/p5-student
, и наш MakeFile создает исполняемый файл с именем main
Это задач. json
{
"version": "2.0.0",
"tasks": [
{
"label": "prepare to debug",
"type": "shell",
"command": "docker start -i os_container",
"group": "build",
"problemMatcher": []
}
]
}
У меня уже есть созданный контейнер docker, поэтому я просто хочу запустить его с этой задачей.
Когда я запускаю отладчик, я получаю первую локальную переменную из main.cpp
, но затем VSCode бьет меня Error: Unable to resolve non-existing file '/mnt/files/p5-student/src/main.cpp'