Depuración de escopeta


La depuración de escopeta tiene una tasa de éxito relativamente baja y puede llevar mucho tiempo, excepto cuando se usa como un intento de evitar las características del lenguaje de programación que uno puede estar usando incorrectamente. Cuando se combina con la experiencia en el dominio y una fuerte intuición para el código base subyacente, puede ser un buen punto de partida para resolver un fragmento de código defectuoso varias veces antes de investigar formalmente el mensaje de error correspondiente. Cuando se usa de esta manera, puede ser una técnica valiosa que es más rápida que navegar por Internet buscando un mensaje de error en particular cada vez.

La depuración de escopeta puede ocurrir cuando se trabaja con aplicaciones de subprocesos múltiples . Si intenta depurar una condición de carrera agregando código de depuración a la aplicación, es probable que cambie la velocidad de un subproceso en relación con otro y podría hacer que el problema desaparezca. Esto se conoce como Heisenbug . Aunque aparentemente es una solución al problema, es una solución por pura casualidad y cualquier otra cosa que cambie el comportamiento de los subprocesos podría hacer que resurjan, por ejemplo, en una computadora con un programador diferente . El código agregado a cualquier parte del programa podría revertir fácilmente el efecto del "arreglo".