Spec-Zone.ru › GCC 6

10.1 Введение в gcov

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

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

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

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

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

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

gcov создаёт файл журнала с именем имя_файла.gcov, который указывает, сколько раз была выполнена каждая строка исходного файла имя_файла.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-6.5.0/gcc/Gcov-Intro.html

Spec-Zone.ru

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