Xdebug: instalação, configuração e utilização com WAMP Server
É importante lembrar que o Xdebug deve ser instalado somente em um Servidor de Desenvolvimento, nunca em um Servidor de Produção. Sua ajuda é enorme no sentido de melhorar a qualidade, agilidade e segurança no desenvolvimento de aplicações PHP.
Como primeiro teste de utilização do Xdebug, crie um script PHP com erro e execute-o.
O Xdebug vai mostrar diversas informações importantes sobre o erro.
O Xdebug oferece alternativas para melhorar a saída do comando "var_dump();".
Profiling
Esta é uma maneira de visualizar quais partes do código fonte estão demorando mais para
executar. O Xdebug precisa ser configurado para poder gerar estas estatísticas.
Para isso é preciso adicionar as seguintes linhas no arquivo "php.ini":
Lembre-se que para as alterações no arquivo "php.ini" tenham efeito é preciso reiniciar o Apache.
Pelo menu do WAMP Server isso é muito fácil de fazer. Com o profiling habilitado, após a execução de qualquer arquivo php da aplicação será gerado um arquivo no diretório temporário com as estatísticas de execução. Em nosso exemplo o diretório temporário é "d:\wamp\temp".
Utilizando o KCachegrind, ferramenta que trabalha com o Xdebug e atua como um profiler, abra este arquivo e observe em modo visual diversas informações com tipos de performance do código, proporcionando uma vantagem considerável ao desenvolvedor.
Trace
Trace significa acompanhar o fluxo da aplicação. É preciso indicar onde o trace da aplicação deve começar e terminar:
Um arquivo no diretório temporário do servidor com o nome trace.??.xt será criado com as saídas do trace. Este arquivo conterá todas as informações referente ao trace das páginas
acessadas.
Outra forma de habilitar o trace é no arquivo "php.ini", desta forma o trace estará habilitado para toda a aplicação e será rastreado os acessos a todas as páginas.
Exemplo do conteúdo de um arquivo trace:
Debug
Um debug é uma ferramenta muito importante para auxiliar o processo de desenvolvimento de
software, proporcionando pontos de parada no código e inspeção de valor das variáveis.
Para fornecer um debug da aplicação, é preciso uma IDE (Ambiente de Desenvolvimento Integrado) que forneça suporte ao Xdebug.
Dentre as IDEs que se encaixam nesta categoria podemos citar o Eclipse, Notepad++ e o PHPEdit. Para habilitar o Xdebug adicione as linhas abaixo no "php.ini":
Como primeiro teste de utilização do Xdebug, crie um script PHP com erro e execute-o.
O Xdebug vai mostrar diversas informações importantes sobre o erro.
O Xdebug oferece alternativas para melhorar a saída do comando "var_dump();".
Profiling
Esta é uma maneira de visualizar quais partes do código fonte estão demorando mais para
executar. O Xdebug precisa ser configurado para poder gerar estas estatísticas.
Para isso é preciso adicionar as seguintes linhas no arquivo "php.ini":
xdebug.profiler_enable = 1 xdebug.extended_info = 0 xdebug.remote_enable = 0 xdebug.profiler_output_dir=d:\wamp\tmp
Lembre-se que para as alterações no arquivo "php.ini" tenham efeito é preciso reiniciar o Apache.
Pelo menu do WAMP Server isso é muito fácil de fazer. Com o profiling habilitado, após a execução de qualquer arquivo php da aplicação será gerado um arquivo no diretório temporário com as estatísticas de execução. Em nosso exemplo o diretório temporário é "d:\wamp\temp".
Utilizando o KCachegrind, ferramenta que trabalha com o Xdebug e atua como um profiler, abra este arquivo e observe em modo visual diversas informações com tipos de performance do código, proporcionando uma vantagem considerável ao desenvolvedor.
Trace
Trace significa acompanhar o fluxo da aplicação. É preciso indicar onde o trace da aplicação deve começar e terminar:
<?php xdebug_start_trace(); // aqui o código PHP a ser acompanhado xdebug_stop_trace(); ?>
Um arquivo no diretório temporário do servidor com o nome trace.??.xt será criado com as saídas do trace. Este arquivo conterá todas as informações referente ao trace das páginas
acessadas.
Outra forma de habilitar o trace é no arquivo "php.ini", desta forma o trace estará habilitado para toda a aplicação e será rastreado os acessos a todas as páginas.
xdebug.auto_trace=1 xdebug.trace_output_dir=d:\wamp\tmp xdebug.trace_options=1 xdebug.trace_format = 0
Exemplo do conteúdo de um arquivo trace:
TRACE START [2008-07-11 19:31:31] 0.0034 123888 -> {main}() D:\wamp\www\teste\chama.php:0 0.0036 129504 -> xdebug_memory_usage() D:\wamp\www\teste\chama.php:4 >=> 129504 0.0038 129648 -> xdebug_start_trace(string(16)) D:\wamp\www\teste\chama.php:5 >=> FALSE 0.9181 129720 -> xdebug_stop_trace() D:\wamp\www\teste\chama.php:12 0.9182 129720 TRACE END [2008-07-11 19:31:32] TRACE START [2008-07-11 19:31:33] -0.0114 13120 TRACE END [2008-07-11 19:31:33] TRACE START [2008-07-11 19:31:33] 0.0091 13120 TRACE END [2008-07-11 19:31:33] TRACE START [2008-07-11 19:33:25] 0.0119 49168 -> {main}() D:\wamp\www\teste\relogio.php:0 0.0120 49200 -> uniqid() D:\wamp\www\teste\relogio.php:3 >=> '4877b585bdeca' >=> 1 0.0164 13752 TRACE END [2008-07-11 19:33:25]
Debug
Um debug é uma ferramenta muito importante para auxiliar o processo de desenvolvimento de
software, proporcionando pontos de parada no código e inspeção de valor das variáveis.
Para fornecer um debug da aplicação, é preciso uma IDE (Ambiente de Desenvolvimento Integrado) que forneça suporte ao Xdebug.
Dentre as IDEs que se encaixam nesta categoria podemos citar o Eclipse, Notepad++ e o PHPEdit. Para habilitar o Xdebug adicione as linhas abaixo no "php.ini":
xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.extended_info=1
--Joao