Код VS, удаленная отладка GDB и символы пути Linux / Windows - PullRequest
0 голосов
/ 09 мая 2019

Простой вопрос, я надеюсь.Я использую 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}"
            }
    ]
}

enter image description here

...