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