callgrind: как проверить, выполнена ли строка

Можно ли использовать callgrind для получения вывода, подобного gcov/lcov? Я читаю их документы, не в состоянии найти точную опцию для callgrind_annotate

2 ответа

Решение

Это невозможно, но callgrind_annotate или kcachegrind должны это реализовать. Однако с помощью kcachegrind у вас есть счетчик вызовов для каждой функции / метода.

Вызовы столбцов на вкладке " Стоимость / Все абоненты " или " Счет на вкладчиках " должны быть релевантными.

Да, ты можешь. Используя callgrind --collect-jumps=yes и инструменты, описанные по ссылке ниже, вы можете получить почти ту же информацию, что и gcov. Это не так красиво, как lcov, но экономия времени может стоить того.

http://benjamin-meyer.blogspot.com/2007/12/valgrind-callgrind-tools-part-3-code.html

Обратите внимание, что это работает довольно хорошо даже с оптимизированными двоичными файлами, поэтому вы сэкономите кучу времени в цикле сборки / тестирования, не выполняя перекомпиляцию с --coverage.

Вы также можете объединить несколько тестовых прогонов перед использованием скрипта Бенджамина с помощью cg_merge.

Другие вопросы по тегам