Visite também: UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais] ·  Efetividade ·  Linux in Brazil ·  Floripa  

Depurando programas em Python

“Escrever programas no python é muito fácil e simples. Descobrir erros nesses programas também é! Neste artigo, iremos aprender como debugar nossos programas em python utilizando o módulo pdb. O Módulo pdb (Python Debugger) foi feito para debugar os programas, utilizando alguns comandos. Esse artigo não cobre o uso mais a fundo do pdb, mas sim uma breve introdução ao seu uso.

Comentários dos leitores

Os comentários abaixo são responsabilidade de seus autores e não são revisados ou aprovados pelo BR-Linux. Consulte os Termos de uso para informações adicionais. Esta notícia foi arquivada, não será possível incluir novos comentários.
Comentário de nemesis
legal!: porém, fico com o Ken Thompson ( ou outro luminário do Unix ) que disse algo nas linhas de: "A melhor forma de debugar são expressões print nos momentos certos."

algo como
__debug__ = True
def dbg( msg ):
  if __debug__:
    print msg
.
.
.
  dbg( "deu pau!" )

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Fabio Rizzo
Interessante: Muito interessante, mais imagina, rolar um print no que você não sabe?

eu prefiro o pdb! :-)

abraços
Comentário de nemesis
debugger: claro, claro, não estou recomendando deixar de lado uma ferramenta valiosa como um debugger de lado ou unit testing. mas vc não conhece o poder de um print no momento certo. :)

qual momento? bem, quando ocorrer, vc vai saber. :) até pq a pilha de mensagens que o Python gera quando dá pau dá dicas muito boas...

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de wrochall
Caro Neemias, : Caro Neemias,

Por isto o spanw (Anderson Tamborim) sabe que, que eu digo, sempre, a comunidade linux é imatura,

rsrsrsrsrsrs


falou,
Comentário de nemesis
pq? pq não dependemos IDEs: pq? pq não dependemos de IDEs guiandos nossos passos como se fôssemos debéis mentais? ou de linguagens estúpidas e limitadas com o mesmo propósito?

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de wrochal
Que isso..: Eita que insistência....

William da Rocha Lima
wrochal(NOSPAM)linuxit.com.br
www.linuxit.com.br
www.linuxit.com.br/blog

Comentário de Luc
A roca: Ken Thompson disse algo nas linhas de: "A melhor forma de debugar são expressões print nos momentos certos."

Quando que ele disse isso? O Brasil já era tetra, pelo menos?

Depurar na base do print é um método primitivo e ineficaz. Demora muito ficar inserindo print em cada trecho suspeito até se encontrar o meliante que está perturbando a ordem.

E eu que sou antiquado...
Comentário de nemesis
ken: "O Brasil já era tetra, pelo menos?"

Acredito que não. Mas não vou discutir com Ken Thompson ( ou outro luminário ). E não, vc não vai ficar inserindo print em cada trecho suspeito: vc vai direto à fonte do problema tal como revelado pela pilha de execução.

simples e funcional... e mais rápido do que o enfadonho trace interativo dos debuggers! :)

;; ((lambda (x) x) "Isto é um comentário e não será executado nunca")

Comentário de Patola
Tenho que escolher?: Acredito que não. Mas não vou discutir com Ken Thompson ( ou outro luminário ). E não, vc não vai ficar inserindo print em cada trecho suspeito: vc vai direto à fonte do problema tal como revelado pela pilha de execução.

simples e funcional... e mais rápido do que o enfadonho trace interativo dos debuggers! :)

Eu prefiro usar ambos os métodos quando achar necessário. Já usei o "enfadonho trace interativo dos debuggers" examinando variáveis e estruturas complexas em programas servidores que não colocam nada na saída padrão de modo que seria impossível conseguir com printf's. E já usei printf's em lugares que o trace interativo seria impraticável.

Simplesmente ler o código pra achar o bug é um método bom também, só não o usamos o tempo todo porque ele em geral demora muito. Usar técnicas para evitar erros antes que aconteçam (asserções, peer review, etc.) também é bom.
--
LinuxFUD, o TIRA-TEIMA dos ataques ao software livre: http://linuxfud.org
BR-Linux.org
Linux® levado a sério desde 1996. Notícias, dicas e tutoriais em bom português sobre Linux e Código Aberto. "A página sobre software livre mais procurada no Brasil", segundo a Revista Isto É.
Expediente
Sobre o BR-Linux
Enviar notícia ou release
Contato, Termos de uso
FAQ, Newsletter, RSS
Banners e selos
Anunciar no BR-Linux
BR-Linux apóia
LinuxSecurity, Tempo Real
Suporte Livre, Drupal
Verdade Absoluta
Pandemonium
Efetividade, Floripa.net
sites da comunidade
Ajuda
Moderação
Flames: não responda!
Publicar seu texto
Computador para Todos
Notícias pré-2004
Tutoriais, HCL pré-2004