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.