2016-08-04 12 views
0

Существует __debugbreak функция в C++.Есть ли функция break в python (для PyCharm или другой среды IDE)?

Мне нужно использовать аналогичную функцию, которая прерывает время выполнения с возможностью возобновления в моем Python-коде (с PyCharm IDE).

+1

Добавить контрольную точку? – DeepSpace

+1

В PyCharm поместите курсор в строку, которую вы хотите сломать, и CRTL + F8 – Trimax

+0

@DeepSpace Нет нет. Я хочу использовать специальные утверждения для установки условной точки останова – Broly

ответ

2

Существует модуль pdb (и ipdb), который предоставляет интерактивные отладчики.

Вы можете использовать

import pdb; pdb.set_trace() 

вставить контрольную точку, куда вы хотите.

Я не уверен, как они будут работать с PyCharm (для чего вам просто нужно щелкнуть, чтобы добавить точку останова), но буквальный ответ на ваш вопрос «да».

Использование ipdb из командной строки - очень простой способ отладки вашего кода на Python.

https://docs.python.org/2.7/library/pdb.html

+1

Я использую Pycharm, и это по-прежнему является моей основной манерой для отладки точки останова. – Roman

+0

@Roman, но я не могу этого сделать. Я получил предупреждение: PYDEV DEBUGGER WARNING: sys.settrace() не следует использовать, когда используется отладчик. Это может привести к тому, что отладчик перестанет работать правильно. Если это необходимо, проверьте: http://pydev.blogspot.com/2007/06/why-cant-pydev-debugger-work-with.html , чтобы узнать, как правильно восстановить трассировку отладки. – Broly

+0

@Broly Запустите сценарий новостей, вставьте 'import pdb; pdb.set_trace() 'и запустить его в обычном режиме. Вы должны получить интерактивную точку останова, в которой вы можете работать. Это работает, если вы просто используете Pycharm для создания терминала, или если вы «Ctrl + Shift + F10» (щелкните правой кнопкой мыши, запустите). Если это то, что вы хотите, тогда используйте его в свой код. – Roman