SlideShare a Scribd company logo
1 of 28
Depurando   Aplicações   PHP com   Xdebug   e   FirePHP Jefferson Girão http://jefferson.eti.br [email_address]
Murphy, o culpado de tudo. Coronel John Paul Stapp
As Leis ,[object Object],[object Object],[object Object],"É 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
Os Erros   ,[object Object],[object Object],[object Object]
Bug? Almirante Grace Hopper
O que fazer? Depurar, testar!! ,[object Object],[object Object],[object Object],[object Object]
O que entendemos por depuração? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
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!"
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.
Cadê os Erros? No php.ini: display_errors = On error_reporting = E_ALL
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 "
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
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? "
Exemplo de Aviso/Notificação Bizu Configure o PHP para exibir tudo no php.ini: error_reporting = E_ALL;
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. "
Como vamos resolver? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
O que é o XDebug? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],www.xdebug.org
Principais recursos do XDebug ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instalação do XDebug ,[object Object],[object Object],[object Object]
Instalação do XDebug ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configurações comuns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Debugging ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tracing V F Comando1 X > 3 Comando4 - Erro Comando2 Comando3
Tracing ,[object Object],[object Object],[object Object],[object Object]
Profilling ,[object Object],[object Object],[object Object],[object Object],[object Object]
FirePHP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FirePHP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],www.firephp.org
Referências ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Obrigado! Dúvidas?

More Related Content

What's hot

A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
Clausia Antoneli
 
Refatoração: Como deixar seu código livre de maus Cheiros
Refatoração: Como deixar seu código livre de maus CheirosRefatoração: Como deixar seu código livre de maus Cheiros
Refatoração: Como deixar seu código livre de maus Cheiros
Pedro Hos
 

What's hot (20)

Etapas da programação
Etapas da programaçãoEtapas da programação
Etapas da programação
 
Java script
Java scriptJava script
Java script
 
[Curso Java Basico] Aula 58: Autoboxing e Unboxing
[Curso Java Basico] Aula 58: Autoboxing e Unboxing[Curso Java Basico] Aula 58: Autoboxing e Unboxing
[Curso Java Basico] Aula 58: Autoboxing e Unboxing
 
O que é programar
O que é programarO que é programar
O que é programar
 
Programação defensiva
Programação defensivaProgramação defensiva
Programação defensiva
 
Lapidando ruby
Lapidando rubyLapidando ruby
Lapidando ruby
 
O basico do Python
O basico do Python O basico do Python
O basico do Python
 
Básico sobre Debugging com Java
Básico sobre Debugging com JavaBásico sobre Debugging com Java
Básico sobre Debugging com Java
 
Programação Defensiva
Programação DefensivaProgramação Defensiva
Programação Defensiva
 
Objects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do códigoObjects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do código
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta Performance
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Php, por onde começar
Php, por onde começar Php, por onde começar
Php, por onde começar
 
Sistemas de Automação I - Revisão
Sistemas de Automação I - RevisãoSistemas de Automação I - Revisão
Sistemas de Automação I - Revisão
 
Refatoração: Como deixar seu código livre de maus Cheiros
Refatoração: Como deixar seu código livre de maus CheirosRefatoração: Como deixar seu código livre de maus Cheiros
Refatoração: Como deixar seu código livre de maus Cheiros
 
02 - Introdução a lógica de programação parte 2 - v1.2
02 - Introdução a lógica de programação parte 2 - v1.202 - Introdução a lógica de programação parte 2 - v1.2
02 - Introdução a lógica de programação parte 2 - v1.2
 
Introdução á programação - 1ª parte
Introdução á programação - 1ª parteIntrodução á programação - 1ª parte
Introdução á programação - 1ª parte
 
Qualidade de Código
Qualidade de CódigoQualidade de Código
Qualidade de Código
 
Aula 07
Aula 07Aula 07
Aula 07
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programação
 

Viewers also liked

Plan clases ingles orinson valenciano
Plan clases ingles orinson valencianoPlan clases ingles orinson valenciano
Plan clases ingles orinson valenciano
orinsonvalenciano11c
 
Martin Nerstad - VG
Martin Nerstad - VGMartin Nerstad - VG
Martin Nerstad - VG
Mobile Oslo
 

Viewers also liked (18)

Escritura creativa
Escritura creativaEscritura creativa
Escritura creativa
 
חשבון נפש: מצב לימודי המתמטיקה בישראל - 2014
חשבון נפש: מצב לימודי המתמטיקה בישראל - 2014חשבון נפש: מצב לימודי המתמטיקה בישראל - 2014
חשבון נפש: מצב לימודי המתמטיקה בישראל - 2014
 
Resume
ResumeResume
Resume
 
சித்தர்கள் போற்றும் வாலை
சித்தர்கள் போற்றும் வாலை சித்தர்கள் போற்றும் வாலை
சித்தர்கள் போற்றும் வாலை
 
Suzuki adferdin god_uppskrift
Suzuki adferdin  god_uppskriftSuzuki adferdin  god_uppskrift
Suzuki adferdin god_uppskrift
 
Open il vol4
Open il vol4Open il vol4
Open il vol4
 
Lucy redes sociales myspace
Lucy redes sociales myspaceLucy redes sociales myspace
Lucy redes sociales myspace
 
Plan clases ingles orinson valenciano
Plan clases ingles orinson valencianoPlan clases ingles orinson valenciano
Plan clases ingles orinson valenciano
 
Nettet som en del av mediemiksen - Google Think 2014 - Espen Grimmert
Nettet som en del av mediemiksen - Google Think 2014  - Espen GrimmertNettet som en del av mediemiksen - Google Think 2014  - Espen Grimmert
Nettet som en del av mediemiksen - Google Think 2014 - Espen Grimmert
 
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 TutorialPrivacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
Privacy-Aware Data Management in Information Networks - SIGMOD 2011 Tutorial
 
Presentación de Servicios Prevengest
Presentación de Servicios PrevengestPresentación de Servicios Prevengest
Presentación de Servicios Prevengest
 
The Virtual Strike: on pitches in advertising
The Virtual Strike: on pitches in advertisingThe Virtual Strike: on pitches in advertising
The Virtual Strike: on pitches in advertising
 
Predavanje OpenIT 2011 - Beograd
Predavanje OpenIT 2011 - BeogradPredavanje OpenIT 2011 - Beograd
Predavanje OpenIT 2011 - Beograd
 
Unit 2: NUTRITION
Unit 2: NUTRITIONUnit 2: NUTRITION
Unit 2: NUTRITION
 
Govt
GovtGovt
Govt
 
Turkey is a New Kind Of Silicon Valley
Turkey is a New Kind Of Silicon ValleyTurkey is a New Kind Of Silicon Valley
Turkey is a New Kind Of Silicon Valley
 
Tautas ataudzes mērķi NAP2020 un to sasniegšanas gaita
Tautas ataudzes mērķi NAP2020 un to sasniegšanas gaitaTautas ataudzes mērķi NAP2020 un to sasniegšanas gaita
Tautas ataudzes mērķi NAP2020 un to sasniegšanas gaita
 
Martin Nerstad - VG
Martin Nerstad - VGMartin Nerstad - VG
Martin Nerstad - VG
 

Similar to Depurando Aplicacoes PHP com XDebug e FirePHP II

QUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptx
QUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptxQUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptx
QUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptx
AlexandreLisboadaSil
 

Similar to Depurando Aplicacoes PHP com XDebug e FirePHP II (20)

POG nunca mais - SOLISC
POG nunca mais - SOLISCPOG nunca mais - SOLISC
POG nunca mais - SOLISC
 
Depurando Aplicacoes PHP
Depurando Aplicacoes PHPDepurando Aplicacoes PHP
Depurando Aplicacoes PHP
 
Invasao_e_Correcao_em_Sites.pdf
Invasao_e_Correcao_em_Sites.pdfInvasao_e_Correcao_em_Sites.pdf
Invasao_e_Correcao_em_Sites.pdf
 
Invasão e correção em sites
Invasão e correção em sitesInvasão e correção em sites
Invasão e correção em sites
 
Curso C e C++ - Teoria PDF.pdf
Curso C e C++ - Teoria PDF.pdfCurso C e C++ - Teoria PDF.pdf
Curso C e C++ - Teoria PDF.pdf
 
PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7
 
Guia php
Guia phpGuia php
Guia php
 
QUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptx
QUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptxQUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptx
QUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptx
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSS
 
Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!Segurança em PHP - Blinde seu código de você mesmo!
Segurança em PHP - Blinde seu código de você mesmo!
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHP
 
Curso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaCurso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a Aula
 
1001 maneiras de debugar o WordPress
1001 maneiras de debugar o WordPress1001 maneiras de debugar o WordPress
1001 maneiras de debugar o WordPress
 
Aula04-JavaScript
Aula04-JavaScriptAula04-JavaScript
Aula04-JavaScript
 
Debugging node
Debugging nodeDebugging node
Debugging node
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites II
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 

Recently uploaded

Recently uploaded (6)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Depurando Aplicacoes PHP com XDebug e FirePHP II

  • 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.
  • 4.
  • 6.
  • 7.
  • 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.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. Tracing V F Comando1 X > 3 Comando4 - Erro Comando2 Comando3
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.