Spec-Zone.ru › GCC 9

10.1 Введение в gcov

gcov — это программа для анализа покрытия кода тестами. Используйте ее вместе с GCC для анализа ваших программ, чтобы создать более эффективный и быстрый код и обнаружить не протестированные части вашей программы. Вы можете использовать gcov как инструмент профилирования, чтобы определить, где ваши усилия по оптимизации окажут наибольшее влияние на ваш код. Вы также можете использовать gcov вместе с другим инструментом профилирования, gprof, чтобы оценить, какие части вашего кода используют наибольшее количество времени вычислений.

Инструменты профилирования помогают вам анализировать производительность вашего кода. Используя инструмент профилирования, такой как gcov или gprof, вы можете получить некоторые базовые статистические данные о производительности, такие как:

  • как часто выполняется каждая строка кода
  • какие строки кода фактически выполняются
  • сколько времени вычислений тратит каждый фрагмент кода

Когда вы узнаете эти вещи о работе вашего кода при компиляции, вы можете просмотреть каждый модуль, чтобы определить, какие модули следует оптимизировать. gcov поможет вам определить, где следует работать над оптимизацией.

Разработчики программного обеспечения также используют тестирование покрытия кода совместно с наборами тестов, чтобы убедиться, что программное обеспечение действительно готово к выпуску. Наборы тестов могут проверить, что программа работает как ожидается; программа анализа покрытия кода проверяет, насколько большая часть программы задействуется набором тестов. Затем разработчики могут определить, какие типы тестовых случаев необходимо добавить в наборы тестов, чтобы создать как лучшие тесты, так и лучший конечный продукт.

Вы должны скомпилировать свой код без оптимизации, если планируете использовать gcov, потому что оптимизация, объединяющая некоторые строки кода в одну функцию, может не дать вам достаточной информации для поиска «горячих точек», где код использует большое количество времени вычислений. Аналогично, так как gcov накапливает статистику по строкам (с наименьшим разрешением), он лучше всего работает со стилем программирования, в котором на каждой строке находится только одно утверждение. Если вы используете сложные макросы, которые расширяются до циклов или других управляющих конструкций, статистика менее полезна — она сообщает только о строке, где появляется вызов макроса. Если ваши сложные макросы ведут себя как функции, вы можете заменить их встроенными функциями, чтобы решить эту проблему.

gcov создает файл журнала, называемый sourcefile.gcov, который показывает, сколько раз каждая строка исходного файла sourcefile.c была выполнена. Вы можете использовать эти файлы журналов вместе с gprof для улучшения настройки производительности ваших программ. gprof предоставляет информацию о времени выполнения, которую вы можете использовать вместе с информацией, полученной от gcov.

gcov работает только с кодом, скомпилированным с помощью GCC. Он несовместим с другими механизмами профилирования или анализа покрытия кода.

Далее: Вызов Gcov, Выше: Gcov [Оглавление][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.5.0/gcc/Gcov-Intro.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API