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