O clima foi de aula prática mesmo, sem slide bonito de sobra: Danilo e Virgo compartilharam tela e foram literalmente quebrando e consertando o ambiente ao vivo (inclusive um perrengue real de Docker no começo, usado como gancho para reforçar a própria filosofia da aula). O foco foi menos em "decorar ferramenta" e mais em desenvolver o raciocínio de investigação: separar problema de ambiente vs. aplicação, dependência de Composer vs. extensão PHP, antes de sair codando.
Destaques
- Filosofia de debug: analisar primeiro no macro (ambiente, servidor, Nginx, PHP-FPM, banco) antes de suspeitar da aplicação — com o case real de três devs experientes perdendo tempo enviesados achando que era problema de container, quando na verdade a requisição já tinha passado pelo PHP-FPM e o erro estava no log do Laravel.
- Comandos rápidos de diagnóstico local:
sail logs -fpara acompanhar Nginx e PHP-FPM, leitura de mensagens de erro traduzindo literalmente ("campo user_id sem default" = migration exige NOT NULL e o código não está passando o valor). - Laravel Debugbar: timeline de bootstrapping, contagem de models carregados (caso real de 9999 cidades carregadas à toa), aba de queries para pegar N+1 na hora, ativação de collectors extras (cache, eventos, sessão) via publish da config.
- Collector customizado no Debugbar:
extends DebugBar\DataCollectorimplementandoRenderableInterface(getName,collect,getWidgets), lendo o ExceptionCollector e o RequestCollector para pegar a exception, achar o trecho de código viaReflectionMethod, montar um prompt e mandar para a API da OpenAI — devolvendo o insight de correção direto na aba do Debugbar. - Xdebug configurado via Sail:
XDEBUG_MODEeXDEBUG_CONFIGno.env, CLI Interpreter apontando pro Docker no PHPStorm, mapeamento de path local vs./var/www/htmldo container, breakpoints, step over/step into e o console em tempo de execução (equivalente a um Tinker no meio do request). - Telescope como "Debugbar de produção": requests, payloads, queries, jobs, schedule (detectando overlap de processo), cache hits/misses, exceptions marcáveis como resolvidas — indicado para ambientes onde não dá para ficar no escuro sobre o comportamento real da aplicação.
- Bugsnag para monitoramento de erro em produção: rastreamento por commit/release, formulário de report do usuário, integração com Slack/canal próprio para saber do bug antes do cliente reclamar.
Profundidade técnica
O nível foi além do básico assumido de cara (a galera já cansada de dd/dump) e escalou até a construção de um Data Collector próprio do Debugbar com integração de API externa — mostrando ReflectionMethod, leitura de arquivo por linha, e composição de prompt dinâmico. No Xdebug, entraram nas armadilhas reais de configuração: path mapping entre IDE e container, breakpoint que "não executa" a linha marcada, e por que a produtividade cai quando se depende só de step-by-step. No Telescope, o destaque foi o watcher de schedule pegando overlap de job (resolvido com withoutOverlapping) e a separação clara de responsabilidade com Horizon (gestão de filas) vs. Telescope (diagnóstico).
Faça parte do Clã
Se esse tipo de aula fez sentido para o seu dia a dia — menos hype, mais raciocínio aplicado e ferramentas configuradas do jeito certo — é exatamente isso que rola dentro do Clã Beer and Code. Lá você tem acesso a workshops como este, mentoria técnica direta com quem já resolveu esses problemas em produção, e uma comunidade que troca solução de verdade em vez de tutorial raso. Entra, participa dos próximos encontros ao vivo e evolui seu debug (e seu código) com quem já passou por isso.
Engenharia de IA virou profissão, e se aprende construindo, não assistindo. O Clã Beer and Code é o ambiente onde isso acontece ao vivo, toda semana: RAG, agentes, observabilidade e LLMOps em projetos reais, ao lado de quem já está em produção. É pago, é assinatura, e é exatamente o ambiente que estes encontros dão uma amostra.
Entrar no Clã