Забор под напряжением - Electric Fence

Для физического барьера см. Электрический забор .

Electric Fence (или eFence ) - это отладчик памяти, написанный Брюсом Перенсом . Он состоит из библиотеки, которую программисты могут включить в свой код, чтобы переопределить функции управления памятью стандартной библиотеки C. eFence вызывает сбой программы при возникновении ошибки памяти, поэтому отладчик можно использовать для проверки кода, вызвавшего ошибку.

Electric Fence предназначен для поиска двух распространенных типов ошибок программирования:

  • Превышение конца (или начала) динамически выделяемого буфера
  • Использование динамически выделяемого буфера после его возврата в кучу

В обоих случаях Electric Fence вызывает немедленное прерывание ошибочной программы из-за ошибки сегментации. Обычно эти две ошибки вызывают повреждение кучи, которое проявляется гораздо позже, обычно несвязанными способами. Таким образом, Electric Fence помогает программистам найти точное местоположение ошибок программирования памяти.

Electric Fence выделяет не менее двух страниц (часто 8 КБ) для каждого выделенного буфера. В некоторых режимах работы он не освобождает буферы. Таким образом, Electric Fence значительно увеличивает требования к памяти отлаживаемых программ. Это приводит к рекомендации, что программисты должны применять Electric Fence к небольшим программам, когда это возможно, и никогда не должны оставлять Electric Fence связанным с производственным кодом.

Electric Fence - бесплатное программное обеспечение под лицензией GNU General Public License .

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

внешние ссылки

  • Исходный код Electric Fence 2.2.4 из Ubuntu
  • DUMA - вилка Electric Fence, которая также работает для Windows
  • eFence-2.2.2 - об / мин источника электрического забора 2.2.2