Debugando aplicações PHP com Xdebug e Eclipse PDT

Salve, salve galera. De novo, depois de um longo período de hibernação venho escrever um novo artigo. Desta vez o artigo é sobre PHP, mais especificamente sobre depuração (vulgo debug) de código sem a utilização de die(), print_r() e var_dump(). Pra isso vamos usar o Eclipse PDT, Xdebug e um browser.

[ Hits: 79.543 ]

Por: José Roberto em 11/04/2008 | Blog: http://www.jragomes.com


Usando o Debugger



Agora com tudo configurado podemos usar o debugger.

Inicializando o Debugger

Na barra de ferramentas do Eclipse há um botão que inicializa o Debugger, por acaso este botão tem um inseto (bug) nele.



Quando este botão for clicado uma nova janela ou abra do browser será aberta e lá você poderá navegar até o script que você quer debugar. No momento em que você chegar ao script que tem um breakpoint será aberta a visão do PHP Debug.

Ao iniciar o debug, você verá que uma nova janela ou aba (dependendo do browser) será aberta, com a URL mais ou menos assim:

http://meusite/pagina_que_indiquei_como_inicio.php? XDEBUG_SESSION_START=ECLIPSE_DBGP&KEY=12064647002702

Usando esta janela ou aba aberta você poderá navegar pelo seu sistema até chegar nos breakpoints que você indicou.

Visão geral do PHP Debug

Uma vez inicializado podemos acompanhar a execução do script, no Eclipse há uma visão específica para isso, chama-se "PHP Debug". Esta visão é composta por alguns elementos:



Durante a execução do script, nós podemos adicionar ou remover break-points. Há uma aba chamada "Breakpoints" onde estão indicados todos os breaks do nosso projeto.

Atalhos

Uma coisa muito útil é saber usar os atalhos do Eclipse PDT na visão Debug. Aqui vão os que eu considero os mais importantes:

F5 -> Step Into (entrar em alguma rotina, método, classe)
F6 -> Próximo passo
F7 -> Executa até o fim
F8 -> Continuar até acabar
F9 -> Reinicia o Debugger

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando e configurando o Xdebug
   3. Configurando o Eclipse PDT
   4. Usando o Debugger
   5. Conclusões e referências
Outros artigos deste autor

Organizando as idéias

Baixando as fotos da sua câmera digital

Fazendo uma conexão bridge no VirtualBox

Utilização e instalação do Litrix Live CD

Acessando contas do Hotmail pelo Mozilla Mail

Leitura recomendada

Referências ou ponteiros em PHP

Utilizando o Smarty template no PHP

PEAR - Utilizando classes prontas e documentadas no PHP

Cadastro e login em PHP

Google Chart: Criando gráficos dinâmicos em minutos

  
Comentários
[1] Comentário enviado por baxman em 11/04/2008 - 16:15h

José Roberto,

que coincidência, pois ia escrever este mesmo artigo, mas ao invés de utilizar o PDT seria o notepad++.

mas valeu .. obrigado por postar o artigo

[2] Comentário enviado por erickbt86 em 12/04/2008 - 08:53h

Muito bom o artigo... prático e eficaz. Vejo que muita gente tem dificuldade em começar a utilizar o Eclipse PDT e estão artigos desse tipo em português.

t+

[3] Comentário enviado por wilbil em 03/05/2008 - 12:04h

cara vc esta de parabéns sempre estive atraz de uma solução desta para php vou instalar aqui para testar e ja comento

abraco muito obrigado

[4] Comentário enviado por felipebastosweb em 19/02/2009 - 15:38h

acabei de instalar o Eclipse PDT e estou tentando configurar os Executáveis PHP que realmente está em /usr/bin/php mas na hora de executar, sempre diz que não foi localizado.

o que fazer ?

[5] Comentário enviado por felipebastosweb em 19/02/2009 - 15:58h

opa, achei este artigo, 1/2 antigo, mas que mostrou o que tava faltando configurar
http://blog.diovani.com/2008/08/10/configurando-eclipse-pdt-xdebug/

[6] Comentário enviado por sampaioprimo em 13/03/2009 - 13:45h

opa, parabéns pelo artigo. gostaria apenas de observar que no meu ambiente (ubuntu 8.10, apache2, php5) colocar comentários dentro do arquivo de configuração do xdebug não funciona. ele passa a ignorar a linha que tem um comentário. abraços, rodrigo.

[7] Comentário enviado por xploitx em 05/11/2009 - 04:32h

Muito obrigado, nota 10 e favoritado.

[8] Comentário enviado por jonathan bispo em 01/01/2011 - 19:14h

Por favor, eu preciso de ajuda. Já fiz tudo o que foi dito, configurei tudo mas não consigo debugar minhas aplicações.

Tentei um simples:

<?php
$a = 1;
echo $a;
?>

Consigo ver o valor na tela do navegador mas meus breakpoints não funcionam. As variáveis não aparecem.

Já li pelo menos três tutoriais sobre como configurar o PDT com XDEBUG mas não consigo fazer os breakpoints funcionarem.

Agradeço a quem puder me sugerir uma solução.

Obrigado.


Contribuir com comentário