Você está na página 1de 10

01/02/2016

DepuraçãodecódigoPHPcomXDebug

Buscar

comentários

Depuração de código PHP com XDebug

Veja neste artigo como utilizar de forma correta a ferramenta case de depuração XDebug na linguagem PHP utilizando o IDE Netbeans 7.3

9 4 Curtir 10 Gostei(1) (0)
9
4
Curtir
10
Gostei(1)
(0)

Oprincipalobjetivodesteartigonãoéabordaradepuraçãodecódigosemlinguagens

desktop,poisissojáestáconsolidado.Ofocoéapresentaradepuraçãoparaweb.

Depurar,queinglêssignificadebug,éoprocessodeencontrarereduzirdefeitosnum

aplicativodesoftwareouatémesmohardware.Quandocitamoslinguagensde

01/02/2016

DepuraçãodecódigoPHPcomXDebug

programaçãoparadesenvolvimentoDesktop,adepuraçãoécomumerotineira,visto

queagrandemaioriadasIDE(IntegratedDevelopmentEnvironment)jásuportama

depuraçãodocódigodeformacompleta.

OConceitodedepuraçãodecódigosWEBénovoeaindaemergente,vistoqueaté

hojemuitosProgramadores,AnalistaseEngenheirosdeSoftwarecontinuamutilizando

ofamoso“jeitinhobrasileiro”paradepurarumcódigosemutilizarumaFerramenta

Caseapropriada.Umexemplodissoéousodosmétodos:var_dump,die,echoeprint

(nalinguagemPHP)deformaexcessivapararetornarvaloresdevariáveisetentar

identificarseoprocedimentoestáfazendooquedefatodeveria.Essesaspectos

tornamafasedetestesumabarreiraaservencida.

Conhecendo e instalando a ferramenta case XDebug

AtualmenteexistemdiversasferramentasparadepuraçãodecódigoWeb,utilizaremos

nesteartigoumadasmaiscomunseutilizadas:XDebug.AplicaremosamesmanoIDE

deDesenvolvimentoNetBeans,versão7.3.

OprimeiropassoérealizarainstalaçãodoXDebug.Nãoabordaremosdetalhadamente

sobreainstalação,poisonossofocoémostrarofuncionamentoeacorretautilização

daferramenta.Emsumaparaumainstalaçãocorretasigaospassosabaixo:

1.Acesseolinkhttp://xdebug.org/download.phpebaixeaversãocorrespondenteao

seusistemaoperacionaleaoseuPHP.

2.CopieecoleoDLLquefoibaixadonopasso1napastaservidorweb/php/ext.Se

vocêestivertrabalhandocomXAMPPocaminhoseráalgocomo:C:/Arquivosde

01/02/2016

DepuraçãodecódigoPHPcomXDebug

Programas/xampp/php/ext.

3.Localizeeabraoarquivophp.inigeralmenteencontradoemapache/Bin.

4.Localizeeelimineocomentáriodalinhazend_extension=

"XXXX\php\ext\php_xdebug.dll".

5.Localizeeelimineocomentáriodalinhaxdebug.remote_host=localhost.Altereo

valordadefiniçãodelocalhostpara127.0.0.1.

6.Localizeeelimineocomentáriodalinhaxdebug.remote_enable=0.Alterede0

para1.

7.Localizeeelimineocomentáriodalinhaxdebug.remote_handler="dbgp".

8.Localizeeelimineocomentáriodalinhaxdebug.remote_port=9000.

9.Atenção,casoalgumadaslinhascitadasnospassos5ao8nãoexista,você

deverácriá­las.

Salveophp.iniereinicieseuservidorWeb.ProntoseuXDebugestáinstalado.

Entendendo a depuração no NetBeans

ComoXDebuginstalado,abraoNetBeansecrieumnovoprojetoPHP,elogono

arquivoindex.phpadicioneocódigoabaixo:

Listagem1:Códigodapáginaindex.php

 

01/02/2016

DepuraçãodecódigoPHPcomXDebug

 

Antesdeiniciarmosadepuração,abaixoserámostradaafunçãodecadabotãono

paineldedepuraçãodoNetBeans.

paineldedepuraçãodoNetBeans. Figura1: Botão“DepurarProjeto”

Figura1:Botão“DepurarProjeto”

Obotãoacimainicializaadepuraçãodoprojeto.Estefazcomqueosoutrosbotões

sejamativadoseadepuraçãoinicie.

sejamativadoseadepuraçãoinicie. Figura2: Botão“FinalizarDepuração”

Figura2:Botão“FinalizarDepuração”

Estefinalizaasessãoqueestásendodepuradanomomento,ouseja,encerraa

depuração.

depuração.

01/02/2016

DepuraçãodecódigoPHPcomXDebug

Figura3:Botão“Ignorar”

Obotão“Ignorar”fazcomqueodepuradoraopassaremalgummétodonãoentreno

mesmo,ouseja,apenasleiaasuaassinaturaepasseadiante.

mesmo,ouseja,apenasleiaasuaassinaturaepasseadiante. Figura4: Botão“Entrar”

Figura4:Botão“Entrar”

Obotão“entrar”fazoopostodo“ignorar”,esteporsuavezforçaodepuradoraentrar

nométodoaopassarporsuaassinatura.

nométodoaopassarporsuaassinatura. Figura5: Botão“Sair”

Figura5:Botão“Sair”

Obotão“sair”éeficazapósousodobotão“entrar”,poisaovarrertodoummétodoo

desenvolvedorpodeoptarporsairdaexecuçãodesteantesdefinalizá­lo.Imagineque

vocêentrenaexecuçãodeummétodo,edescobriqueomesmopossuimais2000

linhas,entãovocêpodeaqualquermomentoclicarem“sair”destemétodo.

01/02/2016

DepuraçãodecódigoPHPcomXDebug

01/02/2016 DepuraçãodecódigoPHPcomXDebug

Figura6:Botão“ExecutarparaoCursor”

Enfim,obotão“ExecutarparaoCursor”levaodepuradoraopróximobreakpointdo

código,ouseja,ele“pula”todasaslinhasseguintesatéalcançaropróximopontode

parada.

OBreakpointéopontonocódigoondedeseja­sequeodepuradorinterrompaa

execuçãoecomeceoseutrabalho.Naimagemabaixovocêpodeverumquadrado

vermelhoaoladoesquerdodalinhaquedesejamosqueodepuradorpareaexecução.

Figura7: UtilizandoBreakpoint

Figura7:UtilizandoBreakpoint

Paraescolherquallinhaadicionarumbreakpoint,bastaclicarsobreonúmerodalinha.

Casonãosejapossíveldepuraraquelalinha,aimagemficarácomoabaixo:

Figura8: UtilizandoBreakpointemlinhanãodepurável
Figura8: UtilizandoBreakpointemlinhanãodepurável

Figura8:UtilizandoBreakpointemlinhanãodepurável

ÉimportantesalientarquevocêapenasconseguirádepurarcódigoPHP(nestecaso),

sendoquequalquerbreakpointqueforcolocadoemcódigoHTML,Javascriptou

Linhasembrancoapresentaráobreakpoint“rachado”,assimcomnaimagemacima,o

01/02/2016

DepuraçãodecódigoPHPcomXDebug

quesignificaqueodepuradorsimplesmenteiráignorarestaparada.

Conclusão

HámuitomaisfuncionalidadesnodepuradordoNetBeansdoquevocêimagina,efica

inviávelmostrartodasdetalhadamentenesteartigo,quetemporobjetivodirecioná­lo

paraocaminhocorretoenãosuprirtodasasinformaçõessobredepuraçãodeprojetos.

Paraprojetoscomplexosedegrandeportenãopodefaltarumbomdepuradoreuma

boaequipequesaibautilizá­lodeformaapropriadaeeficiente.Encontrarerrosefazer

melhoriasemprocedimentoscomplexostorna­seexponencialmentemaisfácil

utilizandoessetipodeferramenta,issoporquevocêpodeacompanharaexecução

passoapassodomesmoerealizarotimizaçõesatéemtempodeexecução(run­time),

senecessário.

ADepuraçãodecódigosderver­sidedeixoudeserapenasmaisumautopiaparafazer

partedarealidadedemuitosprofissionais,queliteralmentedependemdestaparaobter

umaboaprodutividadeeretornoemseusprojetos.

Veja também

RonaldoLanhellas BacharelemCiênciadaComputação(UNAMA).Pós­GraduaçãoemTecnologiasWEB(UFPA).

BacharelemCiênciadaComputação(UNAMA).Pós­GraduaçãoemTecnologiasWEB(UFPA).

TrabalhandoatualmentecomoAnalistadeSistemasJava.

Publicadoem2013

01/02/2016

DepuraçãodecódigoPHPcomXDebug

Oquevocêachoudestepost?

Oquevocêachoudestepost? Gostei(1) (0)
Oquevocêachoudestepost? Gostei(1) (0)

(0)

Nãohácomentários

Publicidade

Nãohácomentários Meuscomentarios Publicidade Mais posts Artigo Postardúvida/Comentário PHP TDD:

Mais posts

Artigo

01/02/2016

DepuraçãodecódigoPHPcomXDebug

Aplicativo com fontes

Artigo

Artigo

Artigo

de Tarefas em PHP com sessões Listar mais conteúdo Anuncie | Loja | Publique | Assine
DevMedia CurtirPágina 88milcurtidas Sejaoprimeirodeseusamigosacurtirisso.
DevMedia
CurtirPágina 88milcurtidas
Sejaoprimeirodeseusamigosacurtirisso.

01/02/2016

DepuraçãodecódigoPHPcomXDebug

HospedagemwebporPorta80WebHosting