update
This commit is contained in:
parent
7cab7eab1b
commit
329145eb50
@ -1277,7 +1277,6 @@ add_code_coverage(${TRGT})
|
||||
|
||||
Пример анализа покрытия кода на примере проекта `cmlib-example-app-features`:
|
||||
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
mkdir -p _build/debug
|
||||
@ -1289,6 +1288,32 @@ make coverage-cmlib-example-app-features
|
||||
make coverage-report-cmlib-example-app-features
|
||||
----
|
||||
|
||||
В результате в каталоге `report-cmlib-example-app-features` будет сформирован
|
||||
отчёт о покрытии кода во время выполнения программы в виде HTML-страниц.
|
||||
После выполнения этих команд в каталоге `report-cmlib-example-app-features`
|
||||
будет сформирован отчёт в виде HTML-страниц.
|
||||
|
||||
|
||||
=== Профилирование кода
|
||||
|
||||
Библиотека CMLib предоставляет вариант сборки для профилирования кода,
|
||||
для которого можно сгенерировать сборочные файлы, присвоив переменной
|
||||
`CMAKE_BUILD_TYPE` значение `Profile`:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
mkdir -p _build/profile
|
||||
cd _build/profile
|
||||
cmake ../.. -DCMAKE_BUILD_TYPE=Profile
|
||||
----
|
||||
|
||||
По окончании работы исполняемого файла будет сгенерирован файл
|
||||
`gmon.out`, по данным из которого можно строить отчёты утилитой `gprof`.
|
||||
Например:
|
||||
|
||||
[source,sh]
|
||||
----
|
||||
./cmlib-example-app-features
|
||||
gprof -b cmlib-example-app-features gmon.out > analysis-tree.txt
|
||||
gprof -b -p cmlib-example-app-features gmon.out > analysis-flat.txt
|
||||
----
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user