Clientes de Debug para PHP [Atualizado]

xdebug-logoDias atrás, participei da PHP Conference. O evento foi melhor do que as minhas expectativas e voltei cheio de ideias e dicas para por em prática. Uma das dicas foi começar a usar o xDebug pra valer. Chega de fazer debug com var_dump!

Quanto à instalação do xDebug, não tive problemas. O complicado mesmo foi escolher o cliente do debug. Pelo que tenho visto em posts e eventos, a maioria dos programadores PHP faz debug em uma IDE, na maior parte, o Eclipse PDT. Teoricamente (ou seja, segundo o site do xDebug) existem várias outras opções. Tentei testar todas as opções para linux na prática, algumas não saíram da teoria.

Testei o protoeditor como plugin do Kate (meu editor de código atual) e não consegui compilar por falta de algumas bibliotecas. Dei uma chance para o Eclipse, mas a lentidão e a quantidade de bugs dele me tiraram do sério (por isso o Kate é meu editor atual). Tentei o plugin do Emacs, mas também não consegui fazer funcionar (acredito que seja por falta de conhecimento). Pensei no Netbeans, mas não tive paciência para baixar e instalar. Por último ou não, testei o plugin do VIM, este sim funcionou perfeitamente!

Eu ainda gostaria que houvesse um programa para linux parecido com o MacGDBp, mas o VIM está cumprindo o objetivo com louvor, principalmente depois que eu li o vimtutor.  Aliás, com o que eu aprendi do VIM, deu até vontade de passar a usá-lo mais regularmente. Talvez em um futuro próximo…

Para facilitar a vida

Criei uns bookmarklets para adicionar as variáveis de ambiente do xDebug na página atual do navegador (o código ficou tão pequeno que coube até em um tweet – Pena que não dá pra ler direito). Se quiser usar também, arraste o link abaixo para sua barra de favoritos:

[xDebug] Start Session

[xDebug] Stop Session

[xDebug] Profile

Para agilizar o debug de scripts php-cli, também pode adicionar estes dois “aliases” em ~/.bashrc (para que sejam recriados em novas sessões do terminal):

alias xdebug_debugger='export XDEBUG_CONFIG="remote_port=9000 remote_enable=1"'
alias xdebug_profiler='export XDEBUG_CONFIG="profiler_enable=1"'
alias xdebug_clean='export XDEBUG_CONFIG=""'

Atualização – 31/12/2009: Adicionei dois bookmarklets (profile e stop xdebug – aproveitei para reduzir ainda mais o código :)) e um alias para iniciar o profile em linha de comando.

Até a próxima!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s