Книга: Программирование для Linux. Профессиональный подход
А.2.1. Программа для тестирования динамической памяти
А.2.1. Программа для тестирования динамической памяти
Программа malloc-use
, приведенная в листинге А.2, позволяет тестировать операции выделения, освобождения и обращения к памяти. Единственный аргумент командной строки задает максимальное число выделяемых буферов. Например, по команде malloc-use 12
будет создан массив А
из двенадцати пустых указателей. Программа принимает пять разных команд.
? Если ввести a i b
, для элемента массива А[i]
будет выделено b байтов. Индекс i должен быть неотрицательным числом, меньшим, чем аргумент командной строки. Число байтов также должно быть неотрицательным.
? Если ввести d i
, будет удален буфер A[i]
.
? Если ввести r i p
, из буфера A[i]
будет прочитан p-й символ (A[i][p]
). Значение p должно быть целым.
? Если ввести w i p
, в позицию p буфера A[i]
будет записан символ.
? Для завершения работы программы введите q
.
Прежде чем привести исходный текст программы, опишем, как работать с ней.
- А.2.1. Программа для тестирования динамической памяти
- А.2.2. Проверка функции malloc()
- А.2.3. Поиск потерянных блоков памяти с помощью утилиты mtrace
- А.2.4. Библиотека ccmalloc
- А.2.5. Библиотека Electric Fence
- А.2.6. Выбор средств отладки
- А.2.7. Исходный текст программы, работающей с динамической памятью
- А.2. Поиск ошибок в динамической памяти
- А.2.7. Исходный текст программы, работающей с динамической памятью
- А.2.6. Выбор средств отладки
- 3.2.1.2. Начальное выделение памяти: malloc()
- Программа «Тайный покупатель»
- Программа Victoria
- Неисправности оперативной памяти
- Как работает модуль оперативной памяти
- Описание типов модулей оперативной памяти
- Извлечение и установка модулей памяти
- Характеристики модулей памяти
- ПО для диагностики оперативной памяти