SlideShare une entreprise Scribd logo
1  sur  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?

Contenu connexe

Tendances

[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 UnboxingLoiane Groner
 
Programação defensiva
Programação defensivaProgramação defensiva
Programação defensivaKayo Rayner
 
O basico do Python
O basico do Python O basico do Python
O basico do Python Nerd4fun
 
Básico sobre Debugging com Java
Básico sobre Debugging com JavaBásico sobre Debugging com Java
Básico sobre Debugging com JavajesuinoPower
 
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ódigoBonoBee
 
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 PerformanceFelipe Ribeiro
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação cClausia Antoneli
 
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ãoThiago Fortunato
 
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 CheirosPedro Hos
 
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.2César Augusto Pessôa
 
Introdução á programação - 1ª parte
Introdução á programação - 1ª parteIntrodução á programação - 1ª parte
Introdução á programação - 1ª parteLuis Fernandes
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programaçãoEdu Queiroz
 

Tendances (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
 

En vedette

חשבון נפש: מצב לימודי המתמטיקה בישראל - 2014
חשבון נפש: מצב לימודי המתמטיקה בישראל - 2014חשבון נפש: מצב לימודי המתמטיקה בישראל - 2014
חשבון נפש: מצב לימודי המתמטיקה בישראל - 2014Eli Hurvitz
 
சித்தர்கள் போற்றும் வாலை
சித்தர்கள் போற்றும் வாலை சித்தர்கள் போற்றும் வாலை
சித்தர்கள் போற்றும் வாலை Thanga Jothi Gnana sabai
 
Plan clases ingles orinson valenciano
Plan clases ingles orinson valencianoPlan clases ingles orinson valenciano
Plan clases ingles orinson valencianoorinsonvalenciano11c
 
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 GrimmertEspen 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 TutorialKun Liu
 
Presentación de Servicios Prevengest
Presentación de Servicios PrevengestPresentación de Servicios Prevengest
Presentación de Servicios PrevengestXavier Fillol de Blas
 
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 advertisingZigurds Zakis
 
Predavanje OpenIT 2011 - Beograd
Predavanje OpenIT 2011 - BeogradPredavanje OpenIT 2011 - Beograd
Predavanje OpenIT 2011 - BeogradIvan Rečević
 
Unit 2: NUTRITION
Unit 2: NUTRITIONUnit 2: NUTRITION
Unit 2: NUTRITIONalfonsodios
 
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 ValleyZafer Elcik
 
Martin Nerstad - VG
Martin Nerstad - VGMartin Nerstad - VG
Martin Nerstad - VGMobile Oslo
 

En vedette (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
 

Similaire à Depurando Aplicacoes PHP com XDebug e FirePHP II

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 sitesDaskonet Dasko
 
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.pdfJoaoAbadia2
 
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 PHPv7Silvano Oliveira
 
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.pptxAlexandreLisboadaSil
 
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 BOSSThiago Rodrigues
 
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!Gustavo Neves
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHPCezar Souza
 
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 AulaJonata Weber
 
1001 maneiras de debugar o WordPress
1001 maneiras de debugar o WordPress1001 maneiras de debugar o WordPress
1001 maneiras de debugar o WordPressRudá Almeida
 
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 IIinfo_cimol
 
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 2017Vitor Mattos
 
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 ...tdc-globalcode
 

Similaire à 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 ...
 

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.