Configurando o Eclipse PDT + XDebug no ubuntu 10.4

Blz pessoal, quanto tempo né? Mas é, ta meio complicado arrumar um tempo para postar coisas novas aqui.

Mas hoje reconfigurei meu ambiente, e dei um trabalhinho habilitar xdebug no eclipse, então resolvi postar, assim já mato a duvida de alguns da lista, e também já deixo de histórico =)

Ha primeira coisa a ser feita, é o download do eclipse PDT, aconselho fazer o download dessa versão, atualmente a ultima, por que em versões anteriores, havia um problema sério em clicar nos botões de alerta. http://www.eclipse.org/pdt/downloads/

Após isso, é necessário descompacta-lo no diretório /usr/share, ficando /usr/share/eclipse
Criamos então um link para o /usr/bin

    sudo ln -s /usr/share/eclipse/eclipse /usr/bin/eclipse

Se preferir, crie um item no menu desenvolvimento.

Instalamos então o xdebug php5-xdebug

    sudo apt-get install xdebug
    sudo apt-get install php5-xdebug

Após isso, eu precisei criar o link do xdebug.ini para o conf.d

sudo cp /usr/share/php5-xdebug/xdebug.ini-dist /etc/php5/conf.d/xdebug.ini

Configuramos o xdebug, adicionando as linhas abaixo no tal /etc/php5/conf.d/xdebug.ini /etc/php5/apache2/conf.d/xdebug.ini

xdebug.remote_enable	= On
xdebug.remote_host	= "localhost"
xdebug.remote_por	= 9000
xdebug.remote_handler	="dbgp"

Vamos reiniciar o apache, caso você também utilize debug em paginas web.
Por via das duvidas, é sempre bom verificar se o modulo esta ativo com o phpinfo();

Voltando ao eclipse, é preciso configura-lo para trabalhar com o xdebug. Vá então em Window -> Preferences na aba PHP -> Debug e configure assim:

Tenha certeza que o xdebug esta trabalhando na porta 9000, caso nao estiver, edite na aba PHP -> Debug -> Intalled Debuggers no botão configure:

Ok, tudo configurado, o debuger devera funcionar.

Abra um script PHP, e aperte F11. Abrir-la o modo Perspective, ou então mude como na imagem abaixo:

Rodando o debugger, agora é só ir no F5 ou F6:

F5 vai passo à passo, F6 via passo à passo, passando por funções e includes.

Bom aproveito 😉