При отладке кода... даже чужого стандартных сообщений об ошибках не хватает. В частности, не мог понять, как отслеживать значения переменных внутри функций класса. Посмотрел несколько случайных роликов, но чувствую, что нужна система и справочник по командам "под рукой".
Однако, с чего начать? Родная документация практически отсутствует
Поиск на сайте iPython
Однако, вот подробная и отличная статья
А в этом блоге краткийсправочник комманд
Поиск на сайте iPython
Однако, вот подробная и отличная статья
А в этом блоге краткийсправочник комманд
In []:
#Here I make a short summary for reference purposes:
#“import pdb” or “import ipdb as pdb“, then “pdb.set_trace()“
n (next)
ENTER (repeat previous)
q (quit)
p <variable> (print value)
c (continue till the next pdb.set_trace())
l (list where you are)
s (step into subroutine)
r (continue till the end of the subroutine)
! <python command>
Руководство немного устарели, pdb уже стоит по умолчанию... Потому сразу пробуем
In [3]:
pdb
In [*]:
help(pdb)
Здесь, оказывается есть и список команд и целый готовый интерфейс. Для получения справки о команде достаточно набрать
ipdb> help
Но как всем этим (вместе) пользоваться? Каковы правила и принципы... Вернемся к подробной статье (см.выше)
ipdb> help
Но как всем этим (вместе) пользоваться? Каковы правила и принципы... Вернемся к подробной статье (см.выше)
In [7]:
from IPython.display import HTML
HTML('<iframe src=https://pythonconquerstheuniverse.wordpress.com/2009/09/10/debugging-in-python/ width=800 height=350></iframe>')
Out[7]:
Здесь дано подробное описание минимального необходимого набора команд (приведенного в начале статьи). Под постом во фрейме более сотни комментариев.
А в видео внизу разбирается пример дебаггинга программы с двумя вложенными функциями. Все те же операторы, к ним добавлены l,w b(break)
Чтобы добавить точку останова на 21-первой строке кода достаточно набрать в дебаггере "b 21" (без кавычек) и посмотреть строки с 16 по 26 - набрать "l 21"
А в видео внизу разбирается пример дебаггинга программы с двумя вложенными функциями. Все те же операторы, к ним добавлены l,w b(break)
Чтобы добавить точку останова на 21-первой строке кода достаточно набрать в дебаггере "b 21" (без кавычек) и посмотреть строки с 16 по 26 - набрать "l 21"
In [2]:
from IPython.display import YouTubeVideo
YouTubeVideo('bZZTeKPRSLQ')
Out[2]:
Для более улглубленного изучения можно использовать руководятво Python ...которого я не нашел пока
А также главу из книги Interactive Debugging in Python. Книга понравилась, потому текст во фрейме чуть ниже.
А также главу из книги Interactive Debugging in Python. Книга понравилась, потому текст во фрейме чуть ниже.
In [8]:
HTML('<iframe src=http://www.onlamp.com/lpt/a/6163 width=800 height=350></iframe>')
Out[8]:
Комментариев нет:
Отправить комментарий