Функция отслеживания Python - PullRequest
0 голосов
/ 15 апреля 2020

Для понимания архитектуры проекта в C ++ я обычно использую задание точки останова в конкретной функции с использованием GDB, а затем с помощью функции отслеживания я могу легко понять вызовы функций между различными классами. Я совершенно новичок в Python, и я хочу спросить, какие лучшие технические приемы используются для понимания проекта Python,

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

Не могли бы вы поделиться Техникой, которую вы используете, основываясь на вашем собственном опыте.

1 Ответ

1 голос
/ 15 апреля 2020

Я не знаю, откуда у вас мысль, что трассировки python будут ограничены одним модулем или ограничены по размеру - когда возникает исключение, у вас конечно есть полная доступная трассировка стека.

При этом, Python имеет полноэтапный отладчик в своем stdlib , который позволяет вам просматривать весь стек вызовов и перемещаться по нему. И, разумеется, существуют пошаговые отладчики третьей стороны в различных средах разработки и пользовательских оболочках или средах (ie I Python et c).

NB модуль inspect также может быть вас интересует - и не только для проверки стека ;-)

...