-
Notifications
You must be signed in to change notification settings - Fork 6
Usando XDebug
Xdebug é uma aprimorada extensão para a linguagem PHP que fornece funcionalidades de debug, profiling e trace. Atualmente desenvolver em PHP sem utilizar o Xdebug é quase querer ser amador[1].
Uma das ferramentas mais úteis no desenvolvimento de software é um depurador apropriado. Ele permite que você trace a execução do seu código e monitore os itens na pilha de execução. XDebug, um depurador de PHP, pode ser utilizado por várias IDEs para prover breakpoints e inspecionar a pilha. Ele também lhe permite que ferramentas como PHPUnit e KCacheGrind realizem análise de cobertura e perfis de código. [2]
Analisar para identificar qual parte da aplicação está causando o defeito detectado, para que seja possível realizar sua correção.[3]
Esta é uma maneira de visualizar quais partes do código fonte estão demorando mais para executar. O Xdebug precisa ser configurado para poder gerar estas estatísticas.[2]
Trace significa acompanhar o fluxo da aplicação.
- Para quem usa Linux ou Docker veja Instalado e Configurando o Ambiente de Desenvolvimento > Ambiente Linux ou Docker
- Para quem usar Windows veja Instalado e Configurando o Ambiente de Desenvolvimento > Ambiente Linux ou Docker
Com PHP 7.2 ou superior é recomendavel usar o XDebug 3.X, A versão 2.X funciona apenas até a versão 7.4
Edite o arquivo php.ini
, procure a seção Xdebug e deixe como no exemplo abaixo.
Observação: na link zend_extension pode variar em função do SO e instalação.
[xdebug]
zend_extension="d:/wamp64/bin/php/php7.4.9/zend_ext/php_xdebug-3.0.4-7.4-vc15-x86_64.dll"
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.show_local_vars=0
xdebug.output_dir="d:/wamp64/tmp"
;3 modos: desenvolvimento, cobertura de codigo, debug
xdebug.mode = develop,coverage,debug
;inicia com request
xdebug.start_with_request = yes
- https://dev.to/getjv/xdebug-3-docker-laravel-vscode-52bi
- https://blog.levacic.net/2020/12/19/xdebug-3-docker-vs-code-setup-guide-on-ubuntu/
- https://vladiiancu.com/post/configure-xdebug-3-and-vscode-with-docker/
Edite o arquivo php.ini
, procure a seção Xdebug e deixe como no exemplo abaixo.
Observação: na link zend_extension pode variar em função do SO e instalação.
[xdebug]
zend_extension="D:/wamp/bin/php/php7.2.10/zend_ext/php_xdebug-2.6.1-7.2-vc15.dll"
;Só as duas linhas abaixo são o suficiente para Eclipse e VsCode
xdebug.remote_enable = on
xdebug.remote_autostart = on
;Restringindo o acesso
; xdebug.remote_host="localhost"
; xdebug.remote_port=9000
; xdebug.remote_handler="dbgp"
;Informações de Profile
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = Off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="D:/wamp/tmp"
xdebug.show_local_vars=0
Depois é preciso configurar sua IDE ou editor de código.
https://stackoverflow.com/questions/9998490/how-to-get-xdebug-var-dump-to-show-full-object-array
ini_set("xdebug.var_display_max_children", -1);
ini_set("xdebug.var_display_max_data", -1);
ini_set("xdebug.var_display_max_depth", -1);
Editar o arquivo php.ini
; with sane limits
xdebug.var_display_max_depth = 10
xdebug.var_display_max_children = 256
xdebug.var_display_max_data = 1024
; with no limits
; (maximum nesting is 1023)
xdebug.var_display_max_depth = -1
xdebug.var_display_max_children = -1
xdebug.var_display_max_data = -1
- [1] Instalando e configurando o Xdebug no Wamp Server - https://www.devmedia.com.br/instalando-e-configurando-o-xdebug-no-wamp-server/28378
- [2] PHP Do Jeito Certo, Xdebug - http://br.phptherightway.com/#xdebug
- [3] http://www.diogomatheus.com.br/blog/php/depuracao-de-aplicacoes-php-com-xdebug/
Índice completo - Aprendendo formDin em etapas
Conheça os projetos relacionados ao formDin
- FormDin Last Release - ultima versão estável
- SysGen - Gerador de código para FormDin
- formDocker - Ambiente para o FormDin em Docker
- FormDin5 - FormDin 5 sobre o Adianti FrameWork
- SysGenAd - Gerador de código para FormDin 5 usando o Adianti FrameWork
Aprendendo formDin em etapas
- Baixando o formDin
- Instalado e Configurando Ambiente de Desenvolvimento
- Usando XDebug
- Informações técnicas
- Primeira Aplicação
- Entendendo a primeira aplicação
- Criando Menu Básico
- Conectando com um Banco de Dados
- Usando DAO e VO
- Grid Básico
- Componentes Básicos
- O Formulário
- Relatórios em PDF
- Componentes Avançados
- Autenticando o usuário
- Perfis de acesso
- Grid Avançado
- Conectando com mais um Banco de Dados ao mesmo tempo
- Automatizando a criação de aplicação
- Segurança
- Layout e CSS
- API REST
- Arquitetura do FormDin
- Versões e versionamento
- Usando o Eclipse
- Usando o VS Code
- História do formDin
- Usando PHPUnit para fazer testes unitários
- Usando Composer
- Usando Docker
- Microsoft SQL Server