Debugar uma aplicação não é uma tarefa trivial. O PHP fornece algumas funções para esse proposito como o var_dump, print_r e debug_backtrace, mas elas estão longe de serem suficientes. Para suprir essa lacuna, a comunidade criou vários projetos uteis que podem auxiliar quem cria aplicações web.
PHP_Debug
Quem já usou o framework symfony deve conhece-lo bem. O PHP_Debug é um pacote do PEAR e permite fazer, trace, analisar logs, SQL executados, variáveis de ambiente, exceções entre outras coisas. Sua instalação e uso é simples: após ativado, uma barra no canto superior direito é criada com acesso a todas as funções.
Krumo
É um substituto do var_dump e print_r com esteróides. Sua instalação é simples, bastando fazer o include da classe class.krumo.php. Utiliza DHTML para tornar os dados mais legíveis para o desenvolvedor.
Alguns exemplos podem ser vistos aqui
FirePHP
Para quem usa o firefox, o firebug é ferramenta indispensável para desenvolver para internet. Imagine agora adicionar um debugger PHP a todo o poder do firebug? Foi isso que esses loucos fizeram. Seu uso é bem simples: use a função fb( mixed $Object [, string $Label ] [, string $Type ] ) na variável que você deseja depurar. A vantagem que as informações serão passadas diretamente para o firebug e o usuario comum não terá ciencia disso.

Xdebug
Umas das mais uteis ferramentas criadas para debugar PHP. Com ele você pode fazer tracing, profiling e code coverage de funções e aplicativos, além de analisar em tempo real o valor de uma variável e debugar interatiamente com seu editor predileto.
A primeira feature que se nota, é a substituição do var_dump do PHP por uma versão mais descritiva e intuitiva.
O trace consiste em criar um log de todas as chamadas de funções e métodos feitas pelo objeto ou aplicação, os parâmetros passados, o tempo de execução, a memoria utilizada e o retorno. Ele pode te ajudar a entender o fluxo de um programa complexo.
O Profile é parecido com o trace que permite saber com exatidão qual parte de seu código esta consumindo muitos recursos ou gerando instabilidade. A diferença esta no uso. Enquanto no trace você pode obter os dados no browser, o profile gera um arquivo feito para ser lido em programas específicos como o WinCachegrind, KCachegrind e Webgrind . A vantagem que você obtém dados e estatísticas mais completos e fáceis de analisar.

O Xdebug pode ser integrado com muitos editores conhecidos que usam o protocolo DBGp, como é o caso eclipse PDT.
Zend Debugger
Componente que acompanha o Zend Studio e o Zend Core e outros produtos da Zend. É de uso gratuito mas não é open-source. Voce pode instalar e usar com outros editores, como o eclipse PDT. Alem de permitir debug e call tracing local, ele tambem pode executar diretamente no servidor e fazer o profiling, se o componente estiver devidamente instalado. O Zend Core já possui o Zend Debugger instalado para essa finalidade.
Mais informações:
»Instalando e usando o Xdebug com o eclipse PDT (Em portugues)
»Debugando com o Xdegug (em Ingles)
»Squash bugs in PHP applications with Zend Debugger
»Squash bugs in PHP applications with Xdebug
Veja Tambem
- None Found



7 Respostas para “Ferramentas para debugar aplicações PHP”
Muito bom o texto. Realmente muito útil. Eu escrevi um texto sobre o xdebug tmb:
http://www.eltonminetto.net/xdebug.htm
Para complementar
Elton Luís Minetto, em 13 de Maio, 2008 as 15:41
Muito bom…. gostei da dica de usar o proprio firebug para debugar aplicativos php….
Mas acho que o artigo pecou em nao descrever o excelente debug do template smarty… para quem usa basta acrecentar “{debug}” em qualquer lugar do template (menos dentro de um section, claro!!) para ter acesso a todas as variaveis e seus conteudos passados ao template…
Mas ta ótimo… parabens…
franklin anderson, em 13 de Maio, 2008 as 16:19
Franklin, o {debug} é um componente do smarty é e apenas para ser usado com o smarty, não é generico
Edir Dumaszak, em 13 de Maio, 2008 as 22:10
Olá Edir.
Achei interessante seu artigo sobre debug PHP. Muitos desses eu nem conhecia e digo que vou experimentar alguns.
A propósito, por falar em ‘editor preferido’ para aplicações PHP, fica a sugestão para um artigo mencionando sobre os vários editores disponíveis no mercado (bem como os de código-livre), tais como Macromedia Dreamweaver, PHPBuilder, Zend Studio e diversos outros existentes.
No mais, bom artigo e continue atualizando o site aqui.
Flws.
Rodiney Elias, em 23 de Maio, 2008 as 16:44
Não sabia que existia debug no PHP. Andei utilizando o APTANA STUDIO, fiz alguns scripts em php para testar a plataforma e quando clicava em debug não acontecia nada. Pra mim o debug do php sempre foram os erros que apareciam na tela. rs
Muito legal essa dica Edir.
Cleibson, em 28 de Maio, 2008 as 10:34
[…] Ferramentas para debugar aplicações PHP […]
rpsblog.com » A week of symfony #72 (12->18 may 2008), em 31 de Maio, 2008 as 21:03
Tudo bem Edir ? Parabéns pelo seu blog, ficou campeão. O rod tá divulgando ele pra todo mundo, rss..
Seguinte cara.. você poderia compartilhar conosco seus conhecimentos sobre processamento em background com AJAX, para evitar o famoso maximum execution time do PHP ?
Imagine importar uma grande lista de dados para um banco de dados, via aplicação. Após o tempo pré-definido o site pára. Eu já vi aplicações fazerem isso, como que em background. Você sabe como fazer isso?
Grande abraço e valeu pelo site.
Ader, em 17 de Junho, 2008 as 17:18
Categorias
Arquivos
Artigos Recentes
Resources
Visite também
Warning: Attempt to assign property of non-object in /home/.pickwick/ecaramba/php-zine.net/wp-includes/rss.php on line 440
Esta obra está licenciada sob uma Licença Creative Commons Theme by Dr. Web Magazin