Удаленная отладка C ++ с VsCode - PullRequest
0 голосов
/ 04 октября 2019

У меня есть gdbserver, подключенный к процессу и нормально работающий на удаленной машине, порт 9999. На моей локальной машине из командной строки:

$ gdb
(gdb) target remote localhost:9999

работает просто отлично. Я пытаюсь настроить отладчик Vs Code, чтобы в этом случае у меня был внешний интерфейс GDB. Вот мой запуск JSON.

"version": "0.2.0",
"configurations": [
    {
        "name": "GDB",
        "type": "cppdbg",
        "request": "attach",
        "miDebuggerServerAddress": "localhost:9999",
        "program": "path-to-cross-compiled-binary-with-same-debug-symbols",
        "linux": {
            "MIMode": "gdb",
        },
    }
]

Здесь есть несколько проблем. Прежде всего, почему «программа»? В этом случае для запуска GDB не требуется имя программы. Программа уже запущена на удаленном компьютере, к ней уже подключен gdbserver. Я просто хочу, чтобы клиент gdb подключился к порту 9999. Но в любом случае, продолжаю.

Он хочет, чтобы я дал processId. Это также не имеет смысла, я уже подключен на пульте. Интересная часть:

  1. Если вы не указали processId, Vs Code говорит, что «невозможно проанализировать идентификатор процесса»
  2. Если вы укажете processId, Vs Code говорит: «ProcessId не может бытьиспользуется с miDebuggerServerAddress "

Конечно, если я использую адрес сервера отладчика, сервер уже подключен к PID, и имеет смысл, что processId не может быть использован в этом случае. Но если я пропущу это, VS Code выдаст 1. ошибку. В некотором смысле это циклично.

Любой может подключиться к удаленному процессу в отладчике VS Code C ++ с адресом gdbserver, это мой вопрос. Что не так с моим файлом запуска?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...