callgrind: как проверить, выполнена ли строка или нет - PullRequest
2 голосов
/ 12 мая 2010

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

Ответы [ 2 ]

1 голос
/ 19 июля 2012

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

http://benjamin -meyer.blogspot.com / 2007/12 / Valgrind-callgrind-инструменты-часть-3-code.html

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

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

1 голос
/ 21 июля 2010

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

Столбец Вызовы в Стоимость / Все звонки * Вкладка 1006 * или Количество в Вкладчики вызовов Вкладка должна иметь отношение.

...