Простой вопрос, я надеюсь.Я использую VS Code с расширением C / C ++, работающим в Windows, для удаленной отладки платы ARM Cortex M0 через OpenOCD, работающую в Linux.Все это прекрасно работает, за одним исключением: символы пути.
Проблема в макросе ${workspaceFolder}
.Поскольку VS Code работает в Windows, он, похоже, всегда использует \
в качестве разделителя пути.Смотрите изображение ошибки ниже.Очевидно, что жесткое кодирование полного пути с использованием /
работает, но делает launch.json очень специфичным для машины.
Кто-нибудь знает, как переназначить символ пути?
TAIA.
launch.json для всех, кому нужна рабочая справка:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug",
"type": "cppdbg",
"request": "launch",
"logging": { "engineLogging": true },
"program": "R:/src/embedded/mcuxpresso/ASCH5_LPC/flash/ASCH5_LPC.axf",
"stopAtEntry": false,
"miDebuggerPath": "r:/apps/gcc-arm/bin/arm-none-eabi-gdb.exe",
"MIMode": "gdb",
"targetArchitecture": "arm",
"launchCompleteCommand": "exec-run",
"setupCommands": [
{ "text": "-target-select remote 192.168.1.99:3333", "description": "connect to target", "ignoreFailures": false },
{ "text": "-file-exec-and-symbols R:/src/embedded/mcuxpresso/ASCH5_LPC/flash/ASCH5_LPC.axf", "description": "load file", "ignoreFailures": false}, // this works
//{ "text": "-file-exec-and-symbols ${workspaceFolder}/flash/ASCH5_LPC.axf", "description": "load file", "ignoreFailures": false}, // this does not ...
{ "text": "-interpreter-exec console \"monitor reset\"", "ignoreFailures": false },
{ "text": "-interpreter-exec console \"monitor halt\"", "ignoreFailures": false },
{ "text": "-interpreter-exec console \"monitor arm semihosting enable\"", "ignoreFailures": false },
],
"externalConsole": true,
"cwd": "${workspaceFolder}"
}
]
}