«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Утилита отладки Python

Утилита отладки Python

Опубликовано 7 августа 2024 г.
Просматривать:853

Python Debugging utility

pdbwhereami

Цель

Это служебный модуль, который помогает в отладке источников Python с помощью следующих функций.

  • кто я
  • Где я
  • кто позвонил мне
  • называемое дерево
  • чей папа

Где он используется?

Этот модуль помогает разработчикам несколькими ключевыми способами, особенно когда дело касается отладки и поддержки кода. Вот основные преимущества:

1. Отладка:

  • Выявление ошибок: При возникновении ошибки знание точного номера строки и файла может значительно сократить время, затрачиваемое на поиск причины. Вызывая эти функции в сообщениях об ошибках, разработчики могут быстро определить, где возникла проблема.
  • Прослеживаемость: Записывая номер строки и имя файла, разработчики могут отслеживать путь выполнения программы, особенно при работе со сложными базами кода или многофайловыми проектами.

2. Журналирование:

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

3. Утверждения и отладочные сборки:

  • Утверждения: Использование макросов, таких как Assert(), вместе с whoami,whereami, whocalledme, calltree и whosdaddy помогает выявлять логические ошибки во время разработки. Если утверждение терпит неудачу, оно печатает номер строки и имя файла, что упрощает отладку.
  • Условная компиляция: Для отладочных сборок дополнительная диагностическая информация может быть включена с помощью этих макросов, не затрагивая выпускные сборки.

4. Документация и обслуживание:

  • Проверки кода: Во время проверок кода наличие подробных журналов ошибок может помочь проверяющим понять поток и более эффективно выявлять потенциальные проблемные области.
  • Обслуживание: При долгосрочном обслуживании наличие подробных отчетов об ошибках с номерами строк и именами файлов помогает новым разработчикам понимать и устранять проблемы без необходимости глубокого знакомства со всей кодовой базой.

Используя whoami, whoami, whocalledme, calltree и whosdaddy, разработчики могут создавать более надежный, удобный в сопровождении и простой в отладке код.

Как это использовать?

from pdbwhereami import whoami, whereami, whocalledme, calledtree, whosdaddy

def debug_utility():
    whoami()
    whoami("I am in test_whoami function")

    print()

    whereami()
    whereami("I am in test_whereami")
    whereami(obsolete_path = True)
    whereami(path_depth=6)

    print()

    whocalledme()
    whocalledme(obsolete_path = True)
    whocalledme(path_depth=6)

    print()

    calledtree()
    tstr = calledtree(verbose=False)
    print(tstr)
    calledtree(tree_depth=1)
    calledtree(tree_depth=2)

    print()
    whosdaddy()

debug_utility()

выход

[debug_utility] ->
[debug_utility] -> I am in test_whoami function

[whereami/main.py:71]:debug_utility ->
[whereami/main.py:72]:debug_utility -> I am in test_whereami
[/home/bhagavan/whereami/main.py:73]:debug_utility ->
[/home/bhagavan/whereami/main.py:74]:debug_utility ->

[whereami/main.py:93]: ->
[/home/bhagavan/whereami/main.py:93]: ->
[/home/bhagavan/whereami/main.py:93]: ->

#1[/home/bhagavan/whereami/main.py:84]:debug_utility    ] ->

Монтаж

Использование пипса

pip install pdbwhereami

Использование источников

git clone https://github.com/bhagavansprasad/pdbwhereami.git
cd pdbwhereami
pip insall ./
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/bhagavan_prasad_d1496a96a/python-debugging-utility-kd1?1. В случае нарушения авторских прав свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3