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

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

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

После установки точек останова один из способов отладки состоит в том, чтобы написать вызов функции в 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: введите описание изображения здесь

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 создайте новое консольное представление, подключенное к сеансу отладки для того же эффекта).

  • Добавление PyDev к Eclipse с использованием PyDev zip
  • Как сделать pydev / eclipse компилировать модули cython на платформе Windows
  • python 3.1 с pydev
  • Eclipse PyDev использует удаленный интерпретатор
  • Запуск витой программы в PyDev
  • PyDev + Django - неопределенные переменные из импорта
  • Python: неразрешенная ошибка импорта для sqlite3 в PyDev в Eclipse
  • Печать Юникода в консоли eclipse Pydev и в режиме ожидания
  • Python - лучший язык программирования в мире.