Я запускаю GDB через VSCode. Моя система работает на другой цели, поэтому используется gdbserver. Из-за разницы между системой разработки и целевой системой файлы src находятся в разных местах. Использование команды set replace-path сработало, но пришлось дождаться запуска сеанса GDB, прервать его, а затем запустить команду в терминале VSCode, прежде чем GDB соединит src на машине разработчика с src целевой машины. Есть ли способ настроить файл .vscode/launch.json для запуска этой команды? Я довольно плохо знаком с GDB, но я ссылался на gdb --help и заметил опцию -ex для оценки одной команды GDB. В документации VSCode по файлу launch.json указано, что вы можете использовать «miDebuggerArgs» в конфигурации для установки аргументов для отладчика (gdb).
Вот мой файл конфигурации:
"version": "0.2.0",
"configurations":
[
{
"type": "gdb",
"request": "attach",
"name": "gdbserver",
"gdbpath": "/usr/bin/gdb",
"miDebuggerArgs": "-ex \"set substitute-path /workspace /other/dir",
"program": "/app/bin/exe",
"target": "target_ip:port",
"remote": true,
"cwd": "/"
}
]
}
Я не могу найти нигде конкретного синтаксиса для раздела miDebuggerArgs; Я также попробовал "miDebuggerArgs": [ "-flag input" ].
Еще один раздел в конфигурации, который я пробовал, был
"setupCommands": [ { "text": "-ex \"set substitute-path /workspace /path\"" } ]
Третьим решением, которое я попробовал, была опция searchPaths в символеOptions.
"symbolOptions":
{
"searchPaths":
[
"/dir",
"/another/dir",
"${workspaceFolder}"
],
}
Четвертым, что я попробовал, был параметр sourceFileMap.
"sourceFileMap":
{
"/workspace": "${workspaceFolder}"
}
Подробнее здесь: https://stackoverflow.com/questions/780 ... ith-vscode