Pular para o conteúdo

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.
José Roberto jragomes
Hits: 84.761 Categoria: PHP Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

Parte 4: 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

   1. Introdução
   2. Instalando e configurando o Xdebug
   3. Configurando o Eclipse PDT
   4. Usando o Debugger
   5. Conclusões e referências

Fazendo uma conexão bridge no VirtualBox

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

Acessando contas do Hotmail pelo Mozilla Mail

Organizando as idéias

Fazendo um site completo rapidinho com Joomla

Acessando o Twitter de 5 formas: protocolo HTTP, cURL, classe HttpRequest (PHP), função http_post_fields() do PHP ou PHP+libcurl

Criando sites para celular com WML

Turck MMcache completo e sem mistérios

Referências ou ponteiros em PHP

Guia completo do Ocomon módulo admin no Linux (exclusivo VOL)

#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 ?
#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

Entre na sua conta para comentar.