Seus problemas  acabaram!
!=Por uma vida mais saudável
O Xdebug é uma extensão que te ajuda a depurar seus scripts fornecendo uma  grande quantidade de informações              ...
Falaremos sobre:● Instalação● Variáveis             amigáveis● Xdebug            na linha de comando● Removendo           ...
Instalação:sudo apt-get install php5 php5-dev gitgit clone git://github.com/derickr/xdebug.gitcd xdebugphpize./configure -...
Variáveis bonitinhas: Como configurar: xdebug.default_enable=on xdebug.overload_var_dump = 0 No php.ini: html_errors=On   ...
POG do desesperoO PHP oculta erros com o operador @E o Xdebug re-exibe:xdebug.scream=1 # ignora o @  xdebug.file_link_form...
Imprimindo variáveis amigáveis<?phpini_set( xdebug.var_display_max_data, 25 );ini_set( xdebug.var_display_max_children, 32...
Exemplo de funções: Gravando headers<?phpsession_start();setcookie( key, value, time() + 86400 );header( "Status: 403" );v...
Depuração em tempo real: kill bugs
Depuração em tempo real: kill bugs     xdebug.remote_enable=on     xdebug.remote_autostart=on     xdebug.remote_port=9000 ...
Clients:● Eclipse● Netbeans● Vi● Sublime● Notepad++● M$ Visual Studio● ...    DESESPERO - RTFM:    http://pt.wikipedia.org...
Profilingxdebug.profiler_enable=1     ; enable profilerxdebug.profiler_output_name=cachegrind.out.%u.%s.%R                ...
Profiling● Webgrind● KcacheGrind● WinCacheGrind● …..?
Profiling            Mão na massa
Contribua com o manual  ● Conhecer o PHP mais a fundo  ● Documentação em inglês  ● Tradução da documentação para o portugu...
O culpado:             http://derickrethans.nl/
FIME viveram felizes para sempre
Links - Contato                                         <?php                                         function romans10_9(...
Upcoming SlideShare
Loading in …5
×

Xdebug: Seus problemas acabaram!

1,655 views

Published on

Você leva horas, dias para encontrar um bug? Não conhece o framework que trabalha ou leva dias encontrando como implementar algo? Seus problemas acabaram! Aprenda a debugar suas aplicações com Xdebug!

Xdebug: Seus problemas acabaram!

  1. 1. Seus problemas acabaram!
  2. 2. !=Por uma vida mais saudável
  3. 3. O Xdebug é uma extensão que te ajuda a depurar seus scripts fornecendo uma grande quantidade de informações valiosas.
  4. 4. Falaremos sobre:● Instalação● Variáveis amigáveis● Xdebug na linha de comando● Removendo pogs● Depurando em tempo real● profiling
  5. 5. Instalação:sudo apt-get install php5 php5-dev gitgit clone git://github.com/derickr/xdebug.gitcd xdebugphpize./configure --enable-xdebugmakesudo make installsudo service apache2 restart
  6. 6. Variáveis bonitinhas: Como configurar: xdebug.default_enable=on xdebug.overload_var_dump = 0 No php.ini: html_errors=On Também funciona no CLI: xdebug.cli_color=1
  7. 7. POG do desesperoO PHP oculta erros com o operador @E o Xdebug re-exibe:xdebug.scream=1 # ignora o @ xdebug.file_link_format=gvim://%f@%1 xdebug.file_link_format=txmt://open/?url=file://%f&line=1 xdebug.file_link_format=???://%f?%1 OPS DO DESESPERO: USE O MANUAL!!! http://php.net/manual/en/language.operators.errorcontrol.php http://xdebug.org/docs/stack_trace
  8. 8. Imprimindo variáveis amigáveis<?phpini_set( xdebug.var_display_max_data, 25 );ini_set( xdebug.var_display_max_children, 32 );ini_set( xdebug.var_display_max_depth, 4 ); OPS DO DESESPERO: USE O MANUAL!!! http://xdebug.org/docs/display
  9. 9. Exemplo de funções: Gravando headers<?phpsession_start();setcookie( key, value, time() + 86400 );header( "Status: 403" );var_dump( xdebug_get_headers() );OPS DO DESESPERO:USE O MANUAL!!!http://xdebug.org/docs/display
  10. 10. Depuração em tempo real: kill bugs
  11. 11. Depuração em tempo real: kill bugs xdebug.remote_enable=on xdebug.remote_autostart=on xdebug.remote_port=9000 Ou, use TDD – PHP Unit
  12. 12. Clients:● Eclipse● Netbeans● Vi● Sublime● Notepad++● M$ Visual Studio● ... DESESPERO - RTFM: http://pt.wikipedia.org/wiki/RTFM http://xdebug.org/docs/remote#clients
  13. 13. Profilingxdebug.profiler_enable=1 ; enable profilerxdebug.profiler_output_name=cachegrind.out.%u.%s.%R output_name ● Analisar quantidade de chamadas ● Tempo total por função ● Partes do código mais lentas ● Descubra onde otimizar
  14. 14. Profiling● Webgrind● KcacheGrind● WinCacheGrind● …..?
  15. 15. Profiling Mão na massa
  16. 16. Contribua com o manual ● Conhecer o PHP mais a fundo ● Documentação em inglês ● Tradução da documentação para o portuguêsComo?Procure o Klaus nos corredores!!
  17. 17. O culpado: http://derickrethans.nl/
  18. 18. FIME viveram felizes para sempre
  19. 19. Links - Contato <?php function romans10_9(){ <?php if($jesus == Lord) function romans10_9(){ $you = saved; if($jesus == Lord) else $you = saved; $you = lost; else return $you;<?php $you = lost; return $you; } ?>echo " } ?> <?phpVitor Mattos <?php function romans10_9(){ if($jesus == Lord) function romans10_9(){ $you = saved; else if($jesus == Lord) $you = lost; $you = saved;http://www.slideshare.net/vitormattosrj } ?> return $you; elsevitor.mattos@phprio.org $you = lost; <?php return $you;vitor@agregati.com.br function romans10_9(){ } ?>"; if($jesus == Lord)?> $you = saved; else <?php function romans10_9(){ $you = lost; if($jesus == Lord) $you = saved; else return $you; $you = lost; return $you; } } ?> ?>

×