2015-03-03 6 views
5

Я использую интерактивный графический отладчик Python с ipdb под капотом (графический отладчик Canopy). Сценарий, над которым я работаю, имеет несколько импортированных модулей и несколько вызовов их соответствующих функций. Всякий раз, когда я пытаюсь выполнить отладку, выполнение зацикливается где-то внутри вызова функции импортированного модуля (в частности, подпроцесса). Мои два основных вопроса:Отладка Python с использованием Pdb

1) Неужели работает в режиме отладки значительно замедлить работу? Действительно ли код не застрял, а просто работает с очень медленной скоростью?

2) Есть ли способ полностью передать бит кода и запустить их, как будто я даже не отлаживал? Я хочу, чтобы отладчик не погружался в подпроцесс и просто выполнял его, как если бы это был обычный прогон.

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

+0

Ваши требования кажется немного противоречащим - выполнение кода питона в отладчик, но не позволяет отладчику погрузиться в подпроцессы. Подсказка: чтобы узнать, слишком ли замедляется отладчик (я этого не ожидаю), попробуйте один раз запустить его с терминала, и вы увидите. –

ответ

1
import pdb 
a = "aaa" 
pdb.set_trace() 
b = "bbb" 
c = "ccc" 
final = a + b + c 
print final 

Ваш выход при запуске кода, то он начнет отладку и контроль остановится после a="aaa"

$ python abc.py 
(Pdb) p a 
'aaa' 
(Pdb) 

Спасибо, Шаши

 Смежные вопросы

  • Нет связанных вопросов^_^