Spec-Zone.ru › GCC 11

Далее: Вызов gcov, Вверх: gcov—Программа анализа охвата кода [Оглавление][Индекс]

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-11.4.0/gcc/Gcov-Intro.html

Spec-Zone.ru

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