"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Utilitário de depuração Python

Utilitário de depuração Python

Publicado em 2024-08-07
Navegar:435

Python Debugging utility

pdbwhereami

Propósito

Este é um módulo utilitário que ajuda na depuração de fontes python com as funções abaixo

  • Quem sou eu
  • Onde estou
  • quem me ligou
  • árvorechamada
  • quem é o papai

Onde é usado?

Este módulo ajuda os desenvolvedores de várias maneiras importantes, especialmente quando se trata de depuração e manutenção de código. Aqui estão os principais benefícios:

1. Depuração:

  • Identificação de erros: Quando ocorre um erro, saber o número exato da linha e do arquivo pode reduzir significativamente o tempo gasto na busca pela causa. Ao chamar essas funções em mensagens de erro, os desenvolvedores podem identificar rapidamente onde surgiu um problema.
  • Rastreabilidade: Ao registrar o número da linha e o nome do arquivo, os desenvolvedores podem rastrear o caminho de execução do programa, especialmente ao lidar com bases de código complexas ou projetos com vários arquivos.

2. Registro:

  • Logs detalhados: Incluir números de linha e nomes de arquivos em mensagens de log fornece contexto detalhado, tornando os logs mais informativos e fáceis de interpretar.
  • Monitoramento automatizado: Em sistemas grandes, as ferramentas de monitoramento automatizado podem usar esses detalhes para sinalizar partes específicas do código que causam problemas com frequência, auxiliando na manutenção proativa.

3. Asserções e compilações de depuração:

  • Asserções: Usar macros como assert() junto com whoami, whereami, whochamoume, chamoutree e whosdaddy ajuda a detectar erros lógicos durante o desenvolvimento. Quando uma asserção falha, ela imprime o número da linha e o nome do arquivo, facilitando a depuração.
  • Compilação Condicional: Para compilações de depuração, informações adicionais de diagnóstico podem ser incluídas usando essas macros sem afetar as compilações de lançamento.

4. Documentação e Manutenção:

  • Revisões de código: Durante as revisões de código, ter logs de erros detalhados pode ajudar os revisores a entender o fluxo e identificar possíveis áreas problemáticas com mais eficiência.
  • Manutenção: Para manutenção de longo prazo, ter relatórios de erros detalhados com números de linha e nomes de arquivos ajuda novos desenvolvedores a entender e corrigir problemas sem precisar de profunda familiaridade com toda a base de código.

Aproveitando whoami, whereami, who callsme, callstree e whosdaddy, os desenvolvedores podem criar códigos mais robustos, de fácil manutenção e mais fáceis de depurar.

Como usá-lo?

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()

saída

[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    ] ->

Instalação

Usando pip

pip install pdbwhereami

Usando fontes

git clone https://github.com/bhagavansprasad/pdbwhereami.git
cd pdbwhereami
pip insall ./
Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/bhagavan_prasad_d1496a96a/python-debugging-utility-kd1?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3