Использованиеgcov
:
$ gcc -O0 --coverage square.c
$./a.out
$ gcov -i square.c
$ awk -F '[,:]' '$1 == "function" && $3 > 0 {print $3, $4}' square.c.gcov
1 square
1 main
(где число — это количество вызовов функции (мы пропускаем те, которые никогда не вызывались с $3 > 0
в awk
части )).
Это обычно используется для покрытия кода (, какая часть кода тестируется ). Вы также можете использовать gprof
инструмент профилирования кода (, который обычно используется для определения того, сколько времени тратится на различные области кода ):
$ gcc -O0 -pg square.c
$./a.out
$ gprof -b -P
Call graph
granularity: each sample hit covers 2 byte(s) no time propagated
index % time self children called name
0.00 0.00 1/1 main [7]
[1] 0.0 0.00 0.00 1 square [1]
-----------------------------------------------
Index by function name
[1] square
Pop!_OS is built on Ubuntu and its repositories. We follow the Ubuntu version numbers and release cycle.
«Buster» — это название выпуска Debian, а не Ubuntu.
sudo rm /etc/apt/apt.conf.d/defaultrelease
sudo apt update
решил проблемы.