Debugging mit Schrotflinten

Definition - Was bedeutet Shotgun Debugging?

Beim Debuggen von Schrotflinten werden ungerichtete Änderungen an jeder zu testenden Software vorgenommen, um Fehler zu vermeiden. Dies ist ein gutes Beispiel für einen Versuch-und-Irrtum-Fall und funktioniert gut mit kleinen Programmen. Wenn es nicht effektiv gehandhabt wird, kann das Debuggen von Schrotflinten zusätzliche Fehler verursachen.

Technische.me erklärt das Debuggen von Schrotflinten

Das Debuggen von Schrotflinten wird als eine Software angesehen, die dem Ostern-Egging entspricht. Dabei werden nicht verwandte Komponenten ersetzt, in der Hoffnung, dass eine Fehlfunktion verschwindet. Es ist das Debuggen eines Hardware- oder Systemproblems, nachdem mehrere mögliche Lösungen gleichzeitig ausprobiert wurden, wobei eine Alternative gut funktionieren kann. Obwohl dies in einigen Fällen erfolgreich sein kann, besteht auch das Risiko, dass neue Fehler auftreten. Das Debuggen von Schrotflinten funktioniert mit Multithread-Anwendungen. Jeder Versuch, eine Race-Bedingung durch Hinzufügen von Debugging-Code zu debuggen, ändert die Geschwindigkeit eines Threads im Verhältnis zu einem anderen. Eine solche relative Bewegung kann oft dazu führen, dass das Problem verschwindet. Alle anderen Änderungen, die sich auf das Verhalten des Threads auswirken, können jedoch dazu führen, dass dasselbe Problem erneut auftritt.