Depurar como un experimento
Pasa de un síntoma a una explicación reproducible con observaciones controladas.
AL TERMINAR, PODRÁS
- Reducir una falla a un caso repetible
- Formular una hipótesis de depuración que se pueda refutar
- Distinguir la causa raíz de un síntoma posterior
Descripción del diagrama: Reproducir → Hipótesis; Hipótesis → Experimento; Experimento → Observar; Observar → Hipótesis (refinar); Observar → Arreglo + test (confirmada)
Reproduce antes de reparar
Un reporte de error suele ser un síntoma: «a veces desaparecen trabajos».
Registra la entrada, el resultado observado, el resultado esperado y el entorno relevante. Busca el ejemplo repetible más pequeño que conserve la falla. Quitar la preparación irrelevante reduce las causas posibles.
Si la falla depende de la concurrencia o del tiempo, registra el orden de los eventos en lugar de suponer que es aleatoria. Una reproducción es un instrumento de laboratorio: te permite comparar explicaciones y verificar una reparación sin depender de la memoria ni de la confianza.
Haz una pregunta que el programa pueda responder
Una hipótesis útil hace una predicción. «Quitamos el trabajo antes de registrar que se completó, así que una caída entre esos pasos lo pierde» predice una ventana de falla concreta.
Pon un breakpoint (punto de interrupción), inspecciona el estado o instrumenta esa frontera. Cambia una sola variable relevante a la vez. Lee el traceback desde la excepción hacia atrás por la cadena de llamadas e inspecciona los valores reales, no los que esperabas.
Los logs (registros) pueden revelar una historia que el depurador no ve, mientras que el depurador puede inspeccionar detalles que nunca se registraron.
Cierra el ciclo
Cuando entiendas la causa, crea una prueba (test) de regresión que demuestre el comportamiento roto.
Aplica la corrección coherente más pequeña y verifica que la prueba falla con el comportamiento antiguo y pasa con el corregido. Luego revisa las suposiciones cercanas: ¿el error estaba aislado o el mismo patrón aparece en otros lugares? En un incidente de producción, una mitigación rápida puede ir antes de la explicación completa, pero nómbrala con honestidad.
Reiniciar un worker puede restaurar el servicio sin resolver por qué se quedó detenido.
ERROR FRECUENTE
Hacer varios cambios especulativos a la vez destruye la evidencia que necesitas para saber cuál importó.
INTÉNTALO TÚ
Un worker saca un trabajo, ejecuta su efecto y luego guarda que se completó. Enumera los resultados observables si el proceso cae antes y después de cada paso.
Decide en el laboratorio.
El checkpoint de dos preguntas, tus notas y tu progreso guardado están en el laboratorio. Gratis y sin cuenta.
Abrir en el laboratorio ↗CONÉCTALO CON RELAY
Introduce una falla controlada en Relay, crea una reproducción mínima, registra la explicación causal y agrega una prueba de regresión.