Введение

Отладочный "дробовик" можно определить как: процесс внесения относительно случайных изменений в программное обеспечение в надежде, что ошибка исчезнет. Это подход, при котором одновременно предпринимаются несколько возможных решений аппаратной или программной проблемы, в надежде, что одно из них (обычно – модификации исходного кода) сработает. Отладка "дробовиком" имеет относительно низкую вероятность успеха и может быть очень затратной по времени, за исключением случаев, когда она используется как попытка обойти особенности языка программирования, которые могут использоваться некорректно. В сочетании с глубоким пониманием предметной области и сильной интуицией относительно кодовой базы, это может быть хорошей отправной точкой для быстрого решения проблемного участка кода несколько раз, прежде чем приступать к формальному изучению соответствующего сообщения об ошибке. При таком подходе это может оказаться ценным методом, который быстрее, чем каждый раз искать конкретное сообщение об ошибке в интернете.

Примеры

Отладка "дробовиком" может возникать при работе с многопоточными приложениями. Попытка отладить состояние гонки путем добавления отладочного кода в приложение, скорее всего, изменит скорость выполнения одной нити относительно другой и может привести к исчезновению проблемы. Это известно как "гейзенбаг". Хотя это и кажется решением, это исправление чисто случайное, и любые изменения в поведении нитей могут привести к повторному возникновению проблемы — например, на компьютере с другим планировщиком. Код, добавленный в любую часть программы, может легко свести на нет эффект этого "исправления".