Executando verificação de segurança...
0

Debuggar PHP com Xdebug quase me fez desistir

Se você já tentou debuggar uma aplicação Laravel com Xdebug, você sabe do que estou falando.

Não é falta de documentação.
Não é falta de tutorial.
É o conjunto de tudo.

WSL, Docker, portas, xdebug.client_host, host.docker.internal, firewall, IDE, PHPStorm, VS Code, versões diferentes de PHP, Xdebug 2 vs 3…
Quando funciona, você não sabe por quê.
Quando quebra, você também não sabe por quê.

Já perdi horas (dias, sendo honesto) só tentando fazer um breakpoint parar em um dd() que nunca chegou a ser executado.

O mais frustrante pra mim nunca foi “não saber configurar”.
Foi perceber que o custo cognitivo do debug em PHP é desproporcional ao problema que queremos resolver.

O problema não é o Xdebug, é o fluxo

O Xdebug é poderoso.
Mas o fluxo é frágil:

Dependente de ambiente

Sensível a rede

Sensível a IDE

Sensível a Docker

Sensível a versão do PHP

Sensível a pequenas mudanças que quebram tudo silenciosamente

E quando quebra… você não debuga o código.
Você debuga o debug.

Foi aí que comecei a pensar:

“E se o debug não dependesse de IDE, porta, extensão ou configuração maluca?”

A ideia por trás do DDLess

Eu queria algo assim:

Rodar o projeto do jeito que ele já roda

Sem Xdebug

Sem extensão PHP

Sem configuração por projeto

Sem acoplamento com IDE

Com output claro e previsível

Então criei o DDLess.

A ideia é simples:

observar, interceptar e inspecionar a execução da aplicação sem precisar de debugger tradicional.

Ele roda junto com o projeto, entende o ciclo do Laravel e permite:

Inspecionar variáveis

Ver execução de código

Acompanhar requests

Debugar sem “breakpoint mágico”

Funcionar igual no Linux, Windows, WSL, Docker, CI, servidor remoto

Não é um “substituto do Xdebug”.
É um atalho para quando você só quer entender o que está acontecendo.

O que me fez continuar

Depois que comecei a usar internamente, percebi algo importante:

Eu debugava mais,
porque o custo de começar a debuggar ficou próximo de zero.

Sem:

abrir porta

configurar IDE

mexer em ini

reiniciar container

torcer pra funcionar

Só rodar e observar.

Ainda está no começo, mas já resolve minha dor

O DDLess ainda está evoluindo.
Hoje o foco é Laravel, mas a ideia é expandir para outros frameworks e cenários.

Não é perfeito.
Não resolve todos os problemas.
Mas resolve aquele momento clássico de:

“cara, só quero saber por que isso tá null”

Se você quiser testar

Vou deixar uma key de teste gratuita pra quem quiser experimentar e dar feedback.

Não é post de venda.
É post de dev cansado que tentou reduzir a própria dor e decidiu compartilhar.

Se isso também já te irritou em algum momento, talvez faça sentido pra você.

Site: https://ddless.com
Key: RIUL-2FAH-V2BQ-OTM1

Se tiver críticas, ideias ou “isso nunca funcionaria no meu cenário”, melhor ainda.
É assim que ferramenta boa nasce.

Carregando publicação patrocinada...
1
1

Aproveita e assisti o video, deixei legendado em português e inglês explicando em um projeto que está com laravel e sail, sei como é a dor de cabeça!

Qualquer dúvida, fica a vontade pra perguntar :)