VSCode отладчик присоединяется к локальному процессу

Одной из замечательных особенностей PyCharm является то, что он позволяет его отладчику подключаться к процессам Python, работающим локально (и за пределами IDE).

Поскольку я пытаюсь перейти на VSCode для работы в Python, я пытаюсь настроить launch.json для имитации присоединения PyCharm к локальному процессу.

{
    "name": "Python: Attach",
    "type": "python",
    "request": "attach",
    "localRoot": "${workspaceFolder}",
    "remoteRoot": "${workspaceFolder}",
    "port": 8001,
    "secret": "my_secret",
    "host": "localhost"
},

Эта конфигурация создается по умолчанию, когда я выбираю параметр Python: attach для отладчика, но я убежден, что это для удаленной отладки (с портом и всеми), и большинство результатов поиска Google просто говорят об удаленной отладке для Python с VSCode.

Кто-нибудь имел успех в подключении локального отладчика или двух к нескольким процессам Python, работающим локально?

1 ответ

Решение

Локальное присоединение в настоящее время не поддерживается, но работает над ним.

Кажется, что VSCode мог добавить эту функцию с момента публикации последнего ответа.

В документации в разделе "Базовая отладка" объясняется процесс:

Самый простой способ начать отладку файла Python - использовать представление "Выполнить" и нажать кнопку "Выполнить и отладить". Если никакая конфигурация не была ранее задана, вам будет представлен список параметров отладки. Выберите подходящий вариант, чтобы быстро начать отладку кода.

Двумя общими вариантами являются использование конфигурации Python File для запуска текущего открытого файла Python или использование конфигурации Attach using Process ID для присоединения отладчика к уже запущенному процессу.

Итак, в вашем случае вы должны выбрать вкладку "Выполнить" слева, а затем "Выполнить и отладить". Вам будет предложено "Выбрать конфигурацию отладки". Поскольку вы пытаетесь присоединиться к существующему / уже запущенному скрипту, выберите "Присоединить с использованием идентификатора процесса". Затем выберите поток Python, к которому вы хотите присоединиться.

Я просто попробовал это на своей машине (VS Code версии 1.45.0 и Python Extension версии 2020.4.76186) и смог подключиться к запущенному процессу.

Другие вопросы по тегам