Gcov

Gcov
gcov
Тип

Покрытие кода

Операционная система

Unix-like

Лицензия

GNU General Public License

Сайт

gnu.org

Gcov — бесплатная утилита для исследования покрытия кода. Gcov генерирует точное количество исполнений для каждого оператора в программе и позволяет добавить аннотации к исходному коду. Gcov поставляется как стандартная утилита в составе пакета GNU CC (GCC).[1]

Утилита gcov предоставляет информацию о том, сколько раз исполнился во время работы программы каждый участок кода.[2] Аннотированный исходный код сохраняется в новом файле, содержащим счетчики исполнения и текст программы. В отличие от gprof (англ.) не создает каких-либо данных, зависящих от длительности работы кода. Работает, в основном, с программами, скомпилированными с помощью GNU CC. Не совместим с другими механизммами профилирования или тестирования покрытия.[3]

Содержание

Описание

gcov создает файл с анализом покрытий для специальным образом инструментированных программ. Опции -fprofile-arcs -ftest-coverage должны использоваться при компиляции программ для анализа покрытия. Первая опция приводит к сохранению статистики исполнения строк исходного файла, а вторая — к записи статистики условных переходов (ветвлений).[2] После запуска такой программы будет создано несколько файлов с расширениями «.bb», «.bbg», «.da», которые могут анализироваться gcov. Он принимает в качестве аргумента командной строки имена файлов с исходными текстами и производит аннотированный листинг. Перед каждой строкой исходного кода указывается количество ее исполнений; те строки, которые не исполнились ни разу помечаются префиксом «#####».[2]

gcov создает файл имя_исходника.gcov в котором индицируется сколько раз исполнили каждую строку исходного файла имя_исходника.c.

Опции командной строки

Опции Gcov:[4][5]

  • -h (--help): Краткая помощь
  • -v (--version): Отображение версии программы
  • -a (--all-blocks): Печать счетчиков для всех базовых блоков, не только для основного блока в строке
  • -b (--branch-probabilities): Сохранить в выходной файл частоты условных переходов и отобразить статистику переходов на стандартный поток вывода. Безусловные переходы по этой опции не показаны, пока не подана опция -u
  • -c (--branch-counts): Сохранить статистику переходов в виде точных величин, а не процентов вероятности
  • -n (--no-output): Не создавать выходной файл gcov
  • -l (--long-file-names): Создавать длинные имена для файлов, включенных в исходник по директиве #included. К примеру, если заголовочный файл x.h содержит исполнявшийся код и был включен в файл a.c, то запуск gcov на a.c создаст файл a.c##x.h.gcov вместо x.h.gcov. Это полезно когда x.h включен многократно в различные исходные файлы
  • -p (--preserve-paths): Сохранять полный путь в именах создаваемых .gcov файлов. Без этой опции используется лишь имя файла, с ней — имя файла и путь к нему, в котором все символы '/' заменены на символы '#'; директории '.' удалены; а компоненты '..' переименованы в '^'. Полезно в случаях, когда исходные файлы хранятся в нескольких каталогах
  • -f (--function-summaries): Выводить статистику по функциям в дополнение к статистике по файлам.
  • -u (--unconditional-branches): Включать статистику по безусловным переходам в статистику переходов.
  • -d (--display-progress): Отображать прогресс обработки.

Графический интерфейс

Существует графический интерфейс Lcov для gcov. Он собирает файлы gcov для нескольких файлов с исходниками и создает комплект HTML страниц с кодом и сведениями о покрытии. Также генерируются страницы для упрощения навигации. Lcov поддерживает покрытие строк, функций, ветвлений.[6]

См. также

Примечания

  1. How Gcov works-tool part of GCC, <http://xview.net/papers/gcov/code_coverage_gcov.pdf>. Проверено 12 февраля 2012. 
  2. 1 2 3 Brian J. Gough An Introduction to GCC - for the GNU compilers gcc and g++ - Coverage testing with gcov.
  3. gcov man page. Проверено 12 февраля 2012.
  4. gnu.org Gcov Command line options. Проверено 11 февраля 2012.
  5. linux commands Gcov Command line options. Проверено 12 февраля 2012.
  6. Lcov.

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Gcov" в других словарях:

  • Code coverage — is a measure used in software testing. It describes the degree to which the source code of a program has been tested. It is a form of testing that inspects the code directly and is therefore a form of white box testing.[1] Code coverage was among …   Wikipedia

  • Instruction pipeline — Pipelining redirects here. For HTTP pipelining, see HTTP pipelining. Basic five stage pipeline in a RISC machine (IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Register write back). In the fourth clock… …   Wikipedia

  • Kernel panic — A kernel panic is an action taken by an operating system upon detecting an internal fatal error from which it cannot safely recover; the term is largely specific to Unix and Unix like systems. The kernel routines that handle panics (in AT T… …   Wikipedia

  • Testabdeckung — Als Testabdeckung bezeichnet man das Verhältnis an tatsächlich getroffenen Aussagen eines Tests gegenüber den theoretisch möglich treffbaren Aussagen bzw. der Menge der gewünschten treffbaren Aussagen. Die Testabdeckung spielt als Metrik zur… …   Deutsch Wikipedia

  • Code Coverage — Couverture de code La couverture de code (en anglais code coverage) est une mesure utilisée en génie logiciel pour décrire le taux de code source testé d un programme. Ceci permet de mesurer la qualité des tests effectués. La mesure de ce taux… …   Wikipédia en Français

  • Couverture De Code — La couverture de code (en anglais code coverage) est une mesure utilisée en génie logiciel pour décrire le taux de code source testé d un programme. Ceci permet de mesurer la qualité des tests effectués. La mesure de ce taux implique souvent l… …   Wikipédia en Français

  • Couverture de code — La couverture de code (en anglais code coverage) est une mesure utilisée en génie logiciel pour décrire le taux de code source testé d un programme. Ceci permet de mesurer la qualité des tests effectués. La mesure de ce taux implique souvent l… …   Wikipédia en Français

  • Покрытие кода — У этого термина существуют и другие значения, см. Покрытие. Покрытие кода  мера, используемая при тестировании программного обеспечения. Она показывает процент, насколько исходный код программы был протестирован. Техника покрытия кода была… …   Википедия

  • GNU Compiler Collection — GNU Compiler Collection …   Википедия

  • Конвейер (процессоры)/Перевод — Пожалуйста, не удаляйте эту статью! В данный момент в ней идет работа по переводу основной английской версии для замены кошмарной русской. После завершения работы я объединю получившуюся статью с имеющейся русской версией. Простой пятиуровневый… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»