Linux программирование в примерах
Шрифт:
Другие инструменты сходны по природе с описанными ранее.
Замещающая
Старинная, но полнофункциональная библиотека замещения
Пакет с большими возможностями настройки для отладки памяти и тестирования. См
Пакет,
«Не просто еще один отладчик malloc» (Not Just Another Malloc Debugger). Эта библиотека не требует специальной компоновки с приложением; вместо этого она использует
Похож на Electric Fence, но со многими дополнительными опциями. См.
Почти все из этих пакетов используют для точной настройки своего поведения переменные окружения. В таблице 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 один или более из этих инструментов, возможно, уже установлены, что избавляет вас от хлопот по их загрузке и построению.
Полезно также использовать для своей программы несколько инструментов подряд. Например,
15.5.3. Современная
В оригинальном С компилятор не мог проверить, соответствуют ли параметры, переданные в вызове функции, списку параметров в определении функции;
Если программа, содержащая этот фрагмент, никогда не вызывается с ошибочным числом аргументов,
Программа V7
С появлением в стандартном С прототипов необходимость в
Вдобавок, многие другие аспекты программы можно проверять статически, т.е. путем анализа исходных текстов.
Программа
186
Следует знать об одной особенности подобных
15.6. Тестирование программ
Разработка программного обеспечения содержит элементы и искусства, и науки, это одна сторона того, что делает ее такой восхищающей и стимулирующей профессией. Данный раздел вводит в тему тестирования программного обеспечения, которая также включает в себя и искусство, и науку; таким образом, это несколько более общий и высокий уровень (читай: «на который можно махнуть рукой»), чем остальная часть данной главы.
Тестирование программ является неотъемлемой частью процесса разработки программного обеспечения. Весьма маловероятно, что программа заработает правильно на 100 процентов при первой компиляции. Программа не несет ответственности за свою правильность; за это отвечает автор программы. Одним из самых важных способов проверки того, что программа работает так, как предполагалось, является ее тестирование.
Один из способов классификации различных видов тестов следующий:
Тесты модулей (Unit tests)
Это тесты, которые вы пишете для каждого модуля или функционального компонента своей программы. В качестве части работы может потребоваться также создать окружение (scaffolding) — код, предназначенный для предоставления поддерживающего каркаса, чтобы запустить модуль в виде отдельной программы.
Важно спроектировать тесты для каждого функционального компонента во время его разработки. Это помогает прояснить проектирование особенностей; знание того, как это тестировать, помогает определить, что следует и что не следует делать в первую очередь.
"Зарубежная фантастика 2024-3". Цикл Люди льда". Компиляция. Книги 1-24
Зарубежная фантастика 2024
Фантастика:
фэнтези
героическая фантастика
рейтинг книги
Второгодка. Книга 2. Око за око
2. Второгодка
Фантастика:
героическая фантастика
альтернативная история
фэнтези
рейтинг книги
Червь
Фантастика:
фэнтези
героическая фантастика
альтернативная история
рейтинг книги
Душехранитель
Фантастика:
боевая фантастика
ужасы и мистика
рейтинг книги
Отморозок 5
5. Отморозок
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Блюдо подают холодным
1. Блюдо подают холодным
Фантастика:
рпг
попаданцы
фэнтези
рейтинг книги
Паслен
1. Паслен
Любовные романы:
любовно-фантастические романы
эро литература
рейтинг книги
Листик, приключения продолжаются.
Фантастика:
фэнтези
ужасы и мистика
рейтинг книги