PyDev: Как вызвать отладочную команду с консоли (с точками останова)?

Предположим, что я написал функцию, которую я хочу отлаживать.

PyDev помогает отлаживать много с его расширенными функциями, такими как точки останова.

  • Как вы видите возвращаемое значение из функции в отладчике Python без промежуточного?
  • Как я могу увидеть подробности исключения в отладчике Python?
  • Отладка Django с помощью Emacs
  • theano - значение печати TensorVariable
  • Как использовать PyCharm для отладки проектов Scrapy
  • Python: как обнаружить отладочный интерпретатор
  • После установки точек останова один из способов отладки состоит в том, чтобы написать вызов функции в def main() или только в теле модуля, и нажать введите описание изображения здесь кнопка.

    Можно ли запустить отладочную сессию функции вместе со своими аргументами из консоли? (Так же, как в RStudio или VBA …)


    Этот вопрос является дубликатом pydev: debug в режиме консоли (интерактивный)?


    Обновление: я действительно не знаю, какова волшебная комбинация кликов, что делает возможной интерактивную отладку.

    Вот что я делаю, что не работает (на Ubuntu 14.04 и Eclipse 4.4.I20140606-1215 с PyDev 3.6.0.2014062323, Python 3.4.0, IPython 1.2.1)

    Первая попытка:

    Во-первых, я создаю новый проект PyDev: введите описание изображения здесь

    Затем я вставляю новый .py-файл с некоторым кодом и создаю некоторые точки останова: введите описание изображения здесь

    Затем я нажимаю правой кнопкой мыши на код, Debug As... -> Python run .

    И затем открываются 2 консоли, ни один из них не является IPython. Активная консоль называется [Debug console] proba.py . [Отладочная консоль] proba.py Ввод команд в эту консоль не заставляет компьютер выполнять их.

    Существует и другая консоль, называемая просто proba.py . Консоль <code> proba.py </ code> Эта консоль полностью интерактивна, хотя это не IPython .

    Это действительно интерактивный отладчик. Можно пройти через код и проверить переменные. К сожалению, обновление переменных не поддерживается; если я вхожу в команду a=10 переменная не обновляется.

    Вторая попытка

    На этот раз, прежде чем запускать сеанс отладки, попробуйте запустить IPython. После Ctrl + Alt + Enter я выбираю Console for currently active editor :

    введите описание изображения здесь

    Тогда Python3 (потому что это то, что мне нужно): введите описание изображения здесь

    После этого у меня есть полностью работающая консоль IPython. Консоль IPython

    Когда я выполняю файл через execfile , он вызывает ошибку Failed to create input stream: Read timed out : введите описание изображения здесь

    Хотя кажется, что, работая над кодом, я не могу получить доступ к переменным из консоли IPython, хотя можно получить доступ к ним из представления Variables: введите описание изображения здесь

  • Предотвращение кэширования Python импортированными модулями
  • Использование модуля регистрации python для регистрации всех исключений и ошибок
  • Помогите мне понять, почему Unicode работает иногда с Python
  • У меня ошибка компилятора «не определена», хотя есть определение
  • Как проверить, установлен ли на моем компьютере IPython и какая последовательность для установки этих библиотек?
  • Как получить IPython Notebook для запуска Python 3?
  • One Solution collect form web for “PyDev: Как вызвать отладочную команду с консоли (с точками останова)?”

    На самом деле, да, вы можете сделать это в последних версиях PyDev.

    Вы должны включить это в настройках, как описано в:

    http://pydev.org/manual_adv_interactive_console.html#full-debug-support-in-interactive-console

    (то есть: подключить консоль к сеансу отладки)


    Изменить (относится к 2-й части):

    К сожалению, так, как и должно быть, это ожидается … ваш код «заблокирован» в точке останова, и, таким образом, консоль не может ответить вам и не делать никакой оценки, пока вы находитесь в точке останова в этом режиме (вы можете используйте часы отладчика / выражения на этом этапе), поэтому идея состоит в том, что вы используете консоль для выполнения задач, а затем, если хотите, вы можете добавить точку останова, но вы можете использовать консоль снова, когда вы покинули точку останова.

    Обратите внимание: если вы хотите использовать интерактивную консоль в контексте точки останова, другой подход будет выбирать фрейм стека (в режиме отладки), щелкнув правой кнопкой мыши его> pydev> Debug Console (или вы также можете отлаживать view создайте новое консольное представление, подключенное к сеансу отладки для того же эффекта).

    Python - лучший язык программирования в мире.