Интерактивная консоль pyDev в точке останова - PullRequest
4 голосов
/ 12 января 2010

Я использую Aptana Studio с Pydev 1.5.3 для отладки моих приложений Django. Я использую удаленный отладчик PyDev и некоторый код в manage.py, и большую часть времени эта установка работает успешно - я могу устанавливать точки останова, проверять переменные и проходить / продолжать мой код.

Однако я бы хотел выполнить произвольный код в точке останова - вещь, которую мне действительно не хватает после перехода с отладки pdb на Eclipse. В перспективе отладки доступна интерактивная консоль, но она для меня неактивна.

Итак, мой вопрос - возможно ли установить в PyDev интерактивную консоль с удаленным отладчиком, который мог бы «внедрить» код в точку останова?

Ответы [ 4 ]

1 голос
/ 19 мая 2010

странно, я использую pydev 1.5.6 для удаленной отладки, и я могу использовать интерактивную консоль - я набираю cmmand, нажимаю enter, через некоторое время получаю результаты обратно; проверьте, что ваш брандмауэр ничего не блокирует (если вы уверены, что интерактивная консоль работает в локальном режиме). в исходном коде pydev даже есть настройки, чтобы установить, сколько stdout должно быть возвращено клиенту (в символах), оно должно работать

1 голос
/ 20 января 2010

После некоторого копания я обнаружил, что могу использовать представление Expressions для доступа к свойствам переменных и просмотра результатов методов класса, но это все еще не полная консоль в точке останова.

0 голосов
/ 16 февраля 2013

В моем стеке разработки под управлением Apache + mod_wsgi ввод команд в консоль выводил их в журналы ошибок сайта. Чтобы решить эту проблему, вы установили stdoutToServer=True и sterrToServer=True для маршрутизации захвата всех выходных данных в удаленный отладчик PyDev:

from pydevsrc import pydevd;pydevd.settrace('192.168.2.8', stdoutToServer=True, stderrToServer=True) #clone and put on python path: https://github.com/tenXer/PyDevSrc
0 голосов
/ 23 марта 2010

С PyDev 1.5.5 возможно :

  1. В представлении «Переменные» можно щелкнуть правой кнопкой мыши имя, а затем выбрать «изменить значение».
  2. Консоль тоже работает, хотя и немного хитро.
    Это только для проверки и очень странным образом: вы должны ввести текст в консоль "Debug server", и вы получите вывод в консоли "filename". Обратите внимание, что вам нужно дважды нажать клавишу ввода, оставив пустую строку.

Хотя трюк с «пустой строкой» задокументирован, проблема двух разных консолей для ввода и вывода отсутствует, и я думаю, что это может быть ошибкой.

...