Debugando PHP com Xdebug

| janeiro 20th, 2009

Debugar aplicações PHP nem sempre é uma fácil missão, comandos como: echo, print, var_dump, são constantes na vida do programador PHP, porém nem sempre só com eles é possível achar o erro, resumindo debugar PHP não é fácil. Pois existem uma extensão que é uma mão na roda!

Vamos dar uma olhada no Xdebug.

O que é Xdebug?

O Xdebug é uma extensão para ajudar no debuggin de scripts PHP, prove grande informações para debug. Dentre as informações providas temos:

  • Erros com mensagens:
    • Todos parâmetros das funções definidas
    • Nome da função, nome do arquivo e a linha da ocorrência
    • Link com ajuda sobre a função
    • Memória alocada
    • Proteção para loops infinitos
  • Informações dos scripts PHP
  • Análise do código
  • Capacidade de debugar os scripts de maneira interativa com um cliente de debug;

Para instalar o Xdebug no Ubuntu é bem simples, temos ele no repositório:

sudo apt-get install php5-xdebug

E não esqueça de reiniciar o apache.

No windows você pode conferir aqui, como se faz a instalação.


Vamos então testar um pouco do Xdebug:

Primeiramente um simples exemplo de um retorno do clássico var_dump();

1
2
3
4
5
6
$xdebug = new StdClass();
$xdebug->value = 1;
$xdebug->test = 'test xdebug';
var_dump($xdebug);
$xdebug  = array('value' => 1, 'test' => array('1',2,array(3)));
var_dump($xdebug);

Rodando um teste como esse você vera que, o seu var_dump, tomou cores, e quebras de linhas, e ficou muito melhor de ver como está vindo os resultados.


Verifique no seu php.ini, a se existe essas definições:

xdebug.default_enable = On
xdebug.collect_includes = On
xdebug.collect_params = On
xdebug.collect_return = On
xdebug.collect_vars = On
xdebug.dump_globals = On

Se ainda não tiver, ou estar desabilitado, habilite.
Outras informações, relevantes:

  • Quantas funções foram chamadas:
    1
    
    echo xdebug_get_function_count();
  • Quanto tempo demorou a execução:
    1
    2
    
    sleep(50);
    echo 'time:', xdebug_time_index();
  • Quanto de memória:
    1
    
     echo 'memory', xdebug_peak_memory_usage();

Por esse post é só, porém com Xdebug podemos ainda saber quais parte do código está demorando mais para serem executadas, criar trace da aplicação, assim como integrar o Xdebug com o Eclipse, e utilizar break points, inspeção de variáveis, entre outras coisas, que ajudam muito a debugar.

2 commit to “Debugando PHP com Xdebug”

  1. Vinícius via Rec6 Says:

    Debugando PHP com Xdebug | cObaia.net…

    Debugar aplicações PHP nem sempre é uma fácil missão, comandos como: echo, print, var_dump, são constantes na vida do programador PHP, porém nem sempre só com eles é possível achar o erro, resumindo debugar PHP não é fácil. Descubra o Xdeb…

  2. hugo Says:

    sasss

faça 1 commit

BuscaPé, líder em comparação de preços na América Latina