Отладка дробовика - Shotgun debugging

Отладка дробовика можно определить как:

  • Процесс внесения относительно ненаправленных изменений в программное обеспечение в надежде, что ошибка будут возмущены из существования.[1]
  • Использование подхода, состоящего в том, чтобы пробовать несколько возможных решений аппаратной или программной проблемы одновременно, в надежде, что одно из решений (обычно модификации исходного кода) сработает.[2]

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

Примеры

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

Смотрите также

использованная литература

Эта статья частично основана на Файл жаргона, который находится в открытом доступе.