Depurando Aplicações PHP com XDebug e FirePHP - SETI 2008

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Depurando Aplicações PHP com XDebug e FirePHP - SETI 2008 - Presentation Transcript

    1. Depurando Aplicações PHP com Xdebug e FirePHP Jefferson Girão http://jefferson.eti.br [email_address]
    2. Murphy, o culpado de tudo. Coronel John Paul Stapp
    3. As Leis
      • Primeira lei - Se uma coisa pode sair errado, sairá.
      • Se tudo parece estar indo bem, é porque você não olhou direito.
      • A natureza sempre está a favor da falha oculta.
      "É de conhecimento geral entre os analistas de software que nunca se elimina o último bug de um programa. Os bugs são aceitos como uma triste realidade. Esperamos eliminá-los todos, um por um, mas nunca conseguiremos nos livrar deles." DeMarco, Tom , Editora Campus, 91
    4. Os Erros
      • Erros nem sempre são óbvios;
      • Erros diferentes podem ter a mesma manifestação;
      • Saber que um programa não esta correto não necessariamente é saber como corrigir o erro.
    5. Bug? Almirante Grace Hopper
    6. O que fazer? Depurar, testar!!
      • “ Depois eu escrevo o plano de testes...”
      • “ Vamos deixar os testes para a próxima fase...”
      • “ Na minha máquina funcionou...”
      • “ Temos que entregar o produto na semana que vem...”
    7. O que entendemos por depuração?
      • Resolução de problemas (“bugs”):
        • Erros Sintáticos / de Interpretação
        • Erros Semânticos
        • Erros Lógicos
        • Avisos e Notificações
        • Problemas de Desempenho
    8. Erros Sintáticos Erro sintático acontece quando você se expressa de uma forma não válida para o compilador/interpretador. Quando você não segue a sintaxe da linguagem. Prof. Girafales após cometer um erro sintático: "Eu jamais me engano. Só me enganei uma vez: quando acreditei estar enganado!"
    9. Exemplo de Erro Sintático É um erro fatal!!! Bizu Atenção no destaque de sintaxe da IDE e olhe sempre as linhas anteriores à indicada pela mensagem de erro do PHP.
    10. Cadê os Erros? No php.ini: display_errors = On error_reporting = E_ALL
    11. Erros Semânticos Erros de semântica envolvem códigos técnicamente corretos que contêm problemas com o significado do código. Pica-pau sobre os erros semânticos "Yo no lo conoço señor "
    12. Exemplo de Erro Semântico É um erro fatal!!! Bizu Bizu: verifique se as inclusões foram feitas corretamente e desconfie quando o recurso de autocomplete da IDE não funcionar
    13. Avisos e Notificações Avisos/Notificações podem ser tratados pelo PHP, mas provavelmente não é sobre algo que você não gostaria no seu código Dirty Harry avisando com sua magnum: "Do you feel lucky, punk? "
    14. Exemplo de Aviso/Notificação Bizu Configure o PHP para exibir tudo no php.ini: error_reporting = E_ALL;
    15. Erros Lógicos Simplesmente seu programa não faz o que deveria fazer. Chapolim se deparando com um erro lógico: "Pepe, já tirei a vela. "
    16. Como vamos resolver?
      • Ferramentas
        • Mensagens de erro do PHP
        • Recursos do Eclipse PDT
        • Instruções de impressão
        • Xdebug
        • Firebug + FirePHP
    17. O que é o XDebug?
        • Não é um sanduíche
        • É uma extensão para PHP
        • Multiplataforma
        • Atualmente na versão 2
        • Criada pelo Derick Rethans (Colaborador chave do PHP)‏
        • Com a finalidade de prover informações para depuração
          • e otimização de aplicações
      www.xdebug.org
    18. Principais recursos do XDebug
        • Melhorias nas mensagens de erro do PHP
        • Melhorias na saída do var_dump()‏
        • Proteção contra recursões infinitas
        • Depuração remota (Debugging)‏
        • Acompanhamento do fluxo da aplicação (Tracing)‏
        • Informações sobre consumo de recursos (Profilling)‏
        • Cobertura de código (Code Coverage)‏
    19. Instalação do XDebug
        • Através do código fonte
        • Através de binários
        • Através do repositório PECL
    20. Instalação do XDebug
        • Configuração do PHP.INI
        • No Windows:
        • zend_extension_ts="C:DiretoriodeextensoesdoPHPphp_xdebug.dll"
        • No Linux:
        • zend_extension="/diretorio/de/extensoes/do/PHP/xdebug.so"
        • Verificando a Instalação através do phpinfo();
    21. Configurações comuns
      • No php.ini
        • xdebug.show_local_vars=On
          • Exibe variáveis locais
        • xdebug.dump.GET=*
          • Mostra o conteúdo da superglobal GET
          • (funciona para GET, POST, SERVER, COOKIE, ...)‏
        • xdebug.max_nesting_level=4
        • Define limite de recursão
    22. Debugging
      • No php.ini
        • ; debug remoto
        • xdebug.remote_enable=On
        • xdebug.remote_host="localhost"
        • xdebug.remote_port=9000
        • xdebug.remote_handler="dbgp"
      • No Eclipse PDT
        • run->open debug dialog...->PHP Web Page->New
        • Defina o Server Debugger para Xdebug
        • Escolha um arquivo por onde iniciar o debug
        • Verifique se a URL autogerada está correta
        • Apply->Debug
    23. Tracing Comando1 X > 3 Comando4 - Erro Comando2 Comando3 V F
    24. Tracing
      • No php.ini
        • xdebug.auto_trace=On
        • xdebug.trace_output_dir=D:Temp
      • Fazendo tracing de uma parte específica do código
    25. Profilling
        • No php.ini
        • xdebug.profiler_output_dir="D:Temp"
        • xdebug.profiler_append=On
        • xdebug.profiler_enable_trigger=On
        • O KCacheGrind
    26. FirePHP
        • É um plugin para um plugin (dã) do Firefox chamado Firebug
        • Permite que Scripts PHP converse com o painel do Firebug
        • Todos os dados são enviados via response headers sem
        • interferir no conteúdo da página
        • Ideal para depuração de aplicações AJAX onde respostas JSON
          • e XML simples são necessárias
    27. FirePHP
        • Instalação
      • O FireBug
      • O FirePHP
      • As Bibliotecas
        • API Procedural
        • API Orientada a Objeto
      www.firephp.org
    28. Referências
        • Instalação
      • http://www.xdebug.org/docs/
      • http://www.firephp.org/HQ/Use.html
      • http://devzone.zend.com/article/2803-Introducing-xdebug
      • http://www.onlamp.com/public/php/2004/08/12/DebuggingPHP.htm
      • http://mikebernat.com/blog/My_PHP_Best_Pratices
      Obrigado! Dúvidas?

    + Jefferson GirãoJefferson Girão, 11 months ago

    custom

    834 views, 1 favs, 1 embeds more stats

    Apresentação feita durante a Semana de Tecnologia more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 834
      • 798 on SlideShare
      • 36 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 14
    Most viewed embeds
    • 36 views on http://jefferson.eti.br

    more

    All embeds
    • 36 views on http://jefferson.eti.br

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories