Роббинс Арнольд
Шрифт:
Если вы используете GNU/Linux на другой платформе или используете коммерческую систему Unix, Valgrind не окажет вам большой помощи. Однако, поскольку системы GNU/Linux на x86 довольно обычны (и вполне доступны), вполне вероятно, что вы сможете приобрести ее с умеренным бюджетом, или по крайней мере, занять на время! Что еще, когда Valgrind нашел для вас проблему, она исправляется для любой платформы, для которой компилируется ваша программа. Таким образом, разумно использовать систему x86 GNU/Linux для разработки, а какую-нибудь другую коммерческую систему Unix для развертывания высококачественного продукта. [181]
181
Все в большей степени для разработки высококачественных продуктов используется также GNU/Linux! — Примеч. автора.
Хотя из руководства Valgrind у вас могло сложиться впечатление, что существуют отдельные команды
Valgrind предусматривает ряд опций. За всеми подробностями мы отсылаем вас к его документации. Опции поделены на две группы; из тех, которые используются с ядром (т. е. работают для всех оболочек), наиболее полезными могут быть следующие:
Запускается с подключенным к процессу GDB для интерактивной отладки. По умолчанию используется
Перечисляет опции.
Записывает сообщения в
Выводит число вызывающих в трассировке стека. По умолчанию 4.
Использует соответствующую оболочку. По умолчанию
Запускает трассировку также в порожденных процессах. По умолчанию используется
Использует более полный вывод. Это включает перечисление загруженных библиотек, а также подсчеты всех различных видов ошибок.
Из опций для оболочки
Искать утечки памяти после завершения программы. По умолчанию используется
Показать доступные блоки после завершения программы. Если используется
Давайте посмотрим на Valgrind в действии. Помните