15.5.2.5. Другие отладчики malloc
15.5.2.5. Другие отладчики malloc
Две статьи Cal Ericson в Linux Journal описывают mtrace и dmalloc, а также большинство других перечисленных ниже инструментов. Эти статьи Memory Leak Detection in Embedded Systems, выпуск 101[184], сентябрь 2002 г., и Memory Leak Detection in C++, выпуск 110[185], июнь 2003 г. Обе статьи доступны на веб-сайте Linux Journal.
Другие инструменты сходны по природе с описанными ранее.
ccmalloc
Замещающая malloc() библиотека, которая не нуждается в особой компиляции и может использоваться с С++. См. http://www.inf.ethz.ch/personal/biere/projects/ccmalloc.
malloc Марка Мораеса (Mark Moraes)
Старинная, но полнофункциональная библиотека замещения malloc(), предоставляющая возможности профилирования, трассировки и отладки. Вы можете получить ее с ftp://ftp.cs.toronto.edu/pub/moraes/malloc-1.18.tar.gz.
mpatrol
Пакет с большими возможностями настройки для отладки памяти и тестирования. См http://www.cbmamiga.demon.со.uk/mpatrol.
memwatch
Пакет, требующий использования специального заголовочного файла и опций времени компилирования. См. http://www.linkdata.se/sourcecode.html.
njamd
«Не просто еще один отладчик malloc» (Not Just Another Malloc Debugger). Эта библиотека не требует специальной компоновки с приложением; вместо этого она использует LD_PRELOAD для замены стандартных процедур. См. http://sourceforge.net/projects/njamd.
yamd
Похож на Electric Fence, но со многими дополнительными опциями. См. http://www3.hmc.edu/~neldredge/yamd.
Почти все из этих пакетов используют для точной настройки своего поведения переменные окружения. В таблице 15.1 на основе статей из Linux Journal сделана сводка различных пакетов.
Таблица 15.1. Сводка особенностей инструментов памяти
Инструмент ОС Заголовочный файл Модуль/ программа Многопоточность ccmalloc Многотипная Нет Программа Нет dmalloc Многотипная Необязательно Программа Да efence Многотипная Нет Программа Нет memwatch Многотипная Да Программа Нет Moraes Многотипная Необязательно Программа Нет mpatrol Многотипная Нет Программа Да mtrace Linux (GLIBC) Да Модуль Нет njamd Многотипная Нет Программа Нет valgrind Linux (GLIBC) Нет Программа Да yamd Linux, DJGPP Нет Программа НетКак видно, для отладки проблем динамической памяти доступен ряд выборов. На системах GNU/Linux и BSD один или более из этих инструментов, возможно, уже установлены, что избавляет вас от хлопот по их загрузке и построению.
Полезно также использовать для своей программы несколько инструментов подряд. Например, mtrace для обнаружения не освобождаемой памяти, a Electric Fence для перехвата доступа к недействительной памяти.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Отладчики сценариев JavaScript
Отладчики сценариев JavaScript Отладка представляет собой поиск и устранение ошибок. Часто процесс отладки может занимать большую часть времени разработки всей программы (или сценария). Ведь надежность и безошибочная работа программы зачастую даже важнее ее
3.2.1. Библиотечные вызовы: malloc() , calloc() , realloc() , free()
3.2.1. Библиотечные вызовы: malloc(), calloc(), realloc(), free() Динамическую память выделяют с помощью функций malloc() или calloc(). Эти функции возвращают указатели на выделенную память. Когда у вас есть блок памяти определенного первоначального размера, вы можете изменить его размер с помощью
15.5.2. Отладчики выделения памяти
15.5.2. Отладчики выделения памяти Игнорируя такие проблемы, как плохой дизайн программы, для любого крупномасштабного практического приложения единственной сложной задачей программиста на С является управление динамической памятью (посредством malloc(), realloc() и free()).Этот
А что же другие?
А что же другие? Этот фрагмент истории десктопов был начат кратким рассказом о Xfce и ею же уместно его и завершить. Мы оставили её на уровне 3-й версии, которая, будучи переписана на основе библиотек Gtk, обрела статус свободной среды. Но на этом её история не закончилась.При
21.5.4 Другие запросы
21.5.4 Другие запросы Оставшиеся запросы используются клиентом и сервером аналогичным способом. Данные могут быть переданы и получены через обычные запросы записи и чтения. Соединение может быть закрыто по запросу close. Существуют также специальные запросы send и recv,
Другие типы
Другие типы Этот раздел завершает рассмотрение основных типов данных. Некоторым читателям их число может показаться слишком большим. Остальные могут полагать, что описанных типов недостаточно; например, им захочется иметь булев тип или строковый тип данных. В
РАСПРЕДЕЛЕНИЕ ПАМЯТИ: malloc( ) И са11ос( )
РАСПРЕДЕЛЕНИЕ ПАМЯТИ: malloc( ) И са11ос( ) Ваша программа должна предоставить достаточный объем памяти для запоминания используемых данных. Некоторые из этих ячеек памяти распределяются автоматически. Например, мы можем объявить char place[ ] = "Залив Свиной печенки";и будет
А.2.2. Проверка функции malloc()
А.2.2. Проверка функции malloc() Функции выделения и освобождения памяти, имеющиеся в GNU-библиотеке языка С, способны обнаруживать факт записи в память до начала выделенной области, а также попытку освободить одну и ту же область дважды. Если задать переменную среды MALLOC_CHECK_
Г.3. Другие ресурсы
Г.3. Другие ресурсы ? http://developer.intel.com. Здесь содержится информация о процессорах Intel, включая архитектуру x86 (IA32). Отметим очень полезные справочники встроенных ассемблерных инструкций.? http://www.amd.com. Здесь представлена аналогичная информация о процессорах AMD.? http://freshmeat.net.
Другие функции
Другие функции Функция Краткое описание assert проверка утверждения о состоянии переменных getenv получить значение переменной среды (окружения) perror напечатать сообщение об ошибке putenv изменить значение переменной среды swab поменять местами два смежных
Другие
Другие Для интерфейса с Firebird доступны некоторые другие наборы компонентов.Компоненты UIBЭто набор небольших по объему компонентов доступа к данным с открытыми кодами и драйверы DBXpress для Firebird, InterBase и Yaffil[164]. Это свободный набор под общей лицензией Mozilla. Данные компоненты
Другие игры
Другие игры Как уже говорилось ранее, в документации MSDN имеется множество примеров различных игр. Если вы проявите настойчивость, то самостоятельно найдете эти примеры и сможете разобрать их. Также стоит посетить сайт CodeProject, где по адресу www.codeproject.com/netcf/#Games расположился
Другие
Другие N Сервер Описание 1 http://www.netease.com/~dce Delphi Components Crack (with Dr.Dai) Как там написано, "Following components ONLY for Delphi 3.0", остальное понять трудно, как и идентифицировать родной язык автора сайта, хотя по скриншотам разобраться что и где лежит вполне