11.1 Введение в инструмент gcov-tool
gcov-tool это автономный инструмент для обработки профильных файлов gcda компилятора gcc.
Текущая версия gcov-tool поддерживает следующие функции:
- объединение двух наборов профилей с весами.
- чтение одного набора профилей и переписывание содержимого профиля. Можно масштабировать или нормализовать значения счётчиков.
Примеры использования этого инструмента:
- Сбор профилей для различных наборов входных данных и их объединение с помощью этого инструмента. Можно указать вес, учитывающий относительную важность каждого входного набора.
- Переписывание профиля после удаления подмножества файлов gcda, сохраняя при этом согласованность сводки и гистограммы.
- Также он может использоваться для отладки или работы с кодом libgcov, так как инструмент использует большинство функций библиотеки времени выполнения.
Обратите внимание, что для операции объединения профиль, созданный автономно, может содержать незначительно отличающиеся значения от объединённого профиля, полученного в режиме онлайн. Вот список типичных отличий:
- Отличие гистограммы: этот автономный инструмент пересчитывает гистограмму после объединения счётчиков. Полученная гистограмма, следовательно, является точной. Онлайновая функция объединения не обладает такой возможностью – гистограмма объединяется из двух гистограмм, и результат является приближением.
- Отличие контрольной суммы сводки: контрольная сумма сводки использует операцию CRC32. Значение зависит от порядка связанного списка объектов gcov-info. Этот порядок в gcov-tool отличается от порядка в онлайн-объединении. Ожидается, что контрольные суммы сводок будут разными. Это не имеет существенного значения, так как компилятор нигде не использует эту контрольную сумму.
- Отличие значений счётчиков профиля значений: некоторые значения счётчиков профиля значений зависят от времени выполнения, например, адреса кучи. Нормально наблюдать некоторое различие в этих типах счётчиков.
Далее: Использование инструмента gcov-tool, Вверх: Инструмент gcov-tool [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.5.0/gcc/Gcov-tool-Intro.html