Home

Tags

Отладка в python через консоль

2011-08-02 python debug

Запуск скрипта в отладчике

$ python -m pdb script.py

Либо можно прописать запуск отладчика в самом скрипте, для этого нужно добавить код
import pdb
pdb.set_trace()


Команды
helpСписок команд
listОтображение листинга, отображает точки останова - "B" в начале строки
list s,eЧасть листинга: s - начальная строка, e - конечная строка
nextВыполнить следующую команду текущего метода
stepВыполнить следующую команду со входом внутрь методов
returnВыполнить текущий метод до конца
untilВыполнить до конца метода/цикла
argsВывести список локальных переменных
locals()Отображение текущей области видимости (команда не отладчика)
quitВыйти из отладчика
whereОпределить текущее местоположение
upПеремещение по стеку вверх
downПеремещение по стеку вниз
p valueВывести на экран значение (print)
pp valueБолее красивый вывод на экран
!commandВыполнить произвольную команду
jumpПерейти на строку (выполнить до строки)
run [ 'script.py', 'a', 'b', 'c']Перезапуск скрипта с параметрами
alias pl pp %1Создать алиас команды, %1 - входящий параметр
unalias plУдаление алиаса


Точки останова
breakПросмотр установленных т.о. и их номеров
disable 1Отключить т.о. по номеру
enable 1Включить т.о. по номеру
break 15Установить т.о. на указанной строке
break fooУстановить т.о. на методе
break ../script2.py:15Установить т.о. в другом файле
break 15, i>7Установить т.о. с условием
condition 1 i>0Назначить условие на существующую т.о.
tbreak 15Временная т.о., удаляется при достижении
continueПродолжить выполнение скрипта
clearУдалить все т.о.
clear 1Удалить т.о. под номером 1
ignore 1 10Установка счетчика "не срабатывания", для т.о. 1, пропустить 10 остановок
commands 1
...
end
Создать сценарий для т.о. 1


Настройки по умолчанию можно сохранить в файле ~/.pdbrc и ./.pdbrc (последний переопределяет настройки первого)