Configurando Eclipse PDT + XDebug

Tags: , , — August 10, 2008 @ 3:20 pm

O XDebug é um alternativa livre e bem completa para depurar aplicações em PHP. Com ele é possível verificar em tempo de execução o valor de todas as variáveis durante erros, assim como em breakpoints pré-definidos.

Estarei demonstrando neste post como configurar o XDebug para ser utilizado em conjunto com o Eclipse PDT (former PHPIDE) no Debian testing (outras distribuições, e até mesmo Windows e Mac OS X  tem a mesma configuração, diferenciando-se apenas na instalação do XDebug e caminho do arquivo de configuração deste). O que deve salvar horas de depuração de seus aplicativos e extingir o uso das funções print_r() ou var_dump().

As versões mais recentes do Eclipse PDT já vem com suporte ao XDebug, como alternativa ao Zend Debugger, então, caso você já tenho o Eclipse PDT instalado em sua máquina, deve precisar, no máximo, atualizar a instalação com o update-manager. Para os demais, basta baixar da página de downloads do Eclipse PDT.

Mesmo para quem utilize Debian ou Ubuntu, recomendo baixar e instalar o Eclipse PDT manualmente pelo site, ao invés de utilizarem o gerenciador de pacotes (aka. aptitude ou apt-get), é apenas necessário ter o pacote sun-java5-bin instalado.

Para instalar o XDebug verifique os pacotes disponíveis para sua distribuição, ou faça o download dos binários (para Windows e Mac) do site. Para usuários do Debian ou Ubuntu basta instalar via apt:

# aptitude install php5-xdebug

Após concluída e instalação, edite o arquivo xdebug.ini (no Debian ele deve estar em /etc/php5/conf.d/xdebug.ini), mantenha a linha com a opção ‘zend_extension=’ e adicione as linhas abaixo e reinicie seu servidor web (apache, lighttpd, etc.):

xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

Para saber detalhes sobre estar opções, ou outras disponíveis, veja a documentação do XDebug.

Já no Eclipse, vá em Window -> Preferences -> PHP -> Debug -> Installed Debuggers e verifique se o XDebug está configurado na porta correta (9000, como colocamos no xdebug.ini):

2008-08-10_144020.png

Depois vá em  Window -> Preferences -> PHP -> PHP Executables (mesma Janela) e edite/adicione o caminho correto para seu executável PHP, selecionando XDebug como PHP debugger:

2008-08-10_144336.png

Então vá em  Window -> Preferences -> PHP -> Debug (mesma janela) e selecione o XDebug como seu PHP debugger padrão e seus executável PHP. Também desmarque a opção Break at first line, pois esta poderá ser adicionada mais tarde.

2008-08-10_144004.png

Após definir as configurações gerais, feche a janela e vá em Run -> Open Debug Dialog e de dois cliques em PHP Web Page. Nesta janela basta configurar o XDebug como Server Debugger o servidor web (Apache, Lighttpd, etc.) onde será acessada a aplicação, em PHP Server, o arquivo que iniciará aplicação (geralmente algum index.php, obrigatoriamente dentro de um projeto previamente configurado), em file, e a url para este arquivo, é qual pode ser configurada automaticamente, ou definida manualmente. Note também a opção Break at First Line que pode ser definida para a aplicação ser debugada logo na primeira linha:

2008-08-10_144124.png

Também deve ser necessário definir o navegador onde as páginas serão exibidar em Window -> Preferences -> General -> Web Browser. Selecione User external Web browser e escolha o navegador de sua preferência (Iceweasel ou Firefox, no meu caso).

Perspectiva PHP Debug, exibindo variáveis atuais, com XDebugApós concluída a configuração, basta clicar no botão Debug da barra de ferramentas e a sessão será iniciada. Sempre que houver algum erro na aplicação, ou esta atingir um breakpoint definido por você, a perspectiva deverá mudar para a PHP Debug, pausando a aplicação, e exibindo todas as variáveis (inclusive parametros enviados por GET ou POST e variáveis de sessão) definidas atualmente.

Fonte: http://www.starbowconsulting.com/blog/tao/setting-eclipse-pdt-and-xdebug

Se você gostou deste artigo, inscreva-se em meu RSS feed!