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