Interested Article - Electric Fence
![](/images/007/170/7170368/1.jpg?rand=981055)
![](https://cdn.wafarin.com/avatars/cec9818936add98229817fb432540b18.gif)
- 2020-12-11
- 1
Electric Fence , eFence — отладчик памяти, написанный Брюсом Перенсом . Представляет собой библиотеку, с которой программист может скомпоновать свой код и перекрыть вызовы функций распределения памяти стандартной библиотеки языка Си. eFence вызывает критический сбой программы, когда происходит ошибка работы с памятью. С помощью отладчика можно найти и проанализировать код, вызвавший ошибку.
Electric Fence предназначен для поиска двух основных типов программных ошибок:
- Выход за границы динамического буфера;
- Использование динамически выделенного буфера после его возвращения в кучу.
В обоих случаях Electric Fence прерывает работу ошибочной программы с помощью нарушения доступа к памяти. Обычно эти две ошибки приводят к разрушению кучи, что проявляется гораздо позже, и совершенно вне связи с первопричиной. Таким образом Electric Fence помогает программистам найти точное место ошибки работы с памятью.
Electric Fence выделяет не менее двух страниц (то есть на большинстве компьютеров 8Кб) для каждого выделенного буфера. В некоторых режимах работы он не возвращает системе освобождённые программой буфера, а использует их для своих нужд. Поэтому Electric Fence сильно увеличивает потребление памяти отлаживаемой программой. Electric Fence стоит применять для отладки небольших программ, и никогда не следует рабочий код компилировать с Electric Fence.
Electric Fence свободная программа , под лицензией GNU General Public License .
![]() |
В статье
не хватает
ссылок на источники
(см.
рекомендации по поиску
).
|
![](https://cdn.wafarin.com/avatars/cec9818936add98229817fb432540b18.gif)
- 2020-12-11
- 1