(Как) я могу использовать pydevd в командной строке, похожей на pdb? - PullRequest
0 голосов
/ 13 марта 2019

Я знаю, что могу отладить Dummy.py в командной строке следующим образом:

python -m pdb Dummy.py

Теперь я пытаюсь понять некоторое поведение консоли отладки в коде Visual Studio, которое, я полагаю, можно отследить до поведения pydevd. (Обычно консоль отладки сообщает о неправильных сообщениях об ошибках для таких строк, как a = no_existing_function().)

Итак, я хотел бы использовать pydevd аналогично pdb выше, но мне не удается этого добиться. Мне уже удалось запустить «сервер»,

import pydevconsole
pydevconsole.start_server('localhost', 5678, 1234)

и запустите «клиент» и подключитесь к вышеуказанному серверу:

import pydevd
from _pydevd_bundle import pydevd_comm

print(pydevd_comm.start_client('localhost', 5678))
pydevd.settrace()

Однако я не уверен, что делать дальше. Мне кажется, что pydevd является всего лишь посредником, ожидающим, что что-то еще подключится к порту, который я выбрал как 1234. Но чего он там на самом деле ожидает? Могу ли я соединиться с чем-то вроде telnet или вообще замкнуть это соединение, чтобы получить действительно интерактивную консоль, где я могу набирать команды для оценки в области Dummy.py?

1 Ответ

1 голос
/ 13 марта 2019

Если вы используете код Visual Studio, вы хотите использовать ptvsd вместо pydevd (ptvsd обертки pydevd для использования с кодом Visual Studio).

См .: https://code.visualstudio.com/docs/python/debugging для подробной информации (необходимо запустить удаленный отладчик, а затем подключиться к нему с конфигурацией запуска).

...