GENINFO(1) LCOV GENINFO(1) (NAME) geninfo - geninfo (NAME) geninfo (tracefile) GCOV (SYNOPSIS) geninfo [-h | --help] [--version] [-q | --quiet] [-v | --verbose] [--debug] [--comment *comment-string*] [-i | --initial] [--all] [-t | --test-name *test-name*] [-o | --output-filename *filename*] [-f | --follow] [-b | --base-directory *directory*] [--build-directory *directory*] [--branch-coverage] [--mcdc-coverage] [--checksum] [--no-checksum] [--compat-libtool] [--no-compat-libtool] [--gcov-tool *tool*] [--parallel | -j [*integer*]] [--large-file *regexp*] [--memory *integer_num_Mb*] [--msg-log [*log_file_name*]] [--ignore-errors *errors*] [--expect-message-count *message_type* = *expr* [,*message_type* = *expr* ..]] [--keep-going] [--preserve] [--filter *type*] [--demangle-cpp [param]] [--no-recursion] [--external] [--no-external] [--sort-input] [--config-file *config-file*] [--no-markers] [--profile [*profile-file*]] [--history-script *callback*] [--compat *mode* = on|off|auto] [--rc *keyword* = *value*] [--include *glob_pattern*] [--exclude *glob_pattern*] [--erase-functions *regexp_pattern*] [--substitute *regexp_pattern*] [--omit-lines *regexp_pattern*] [--fail-under-branches *percentage*] [--fail-under-lines *percentage*] [--forget-test-names] [--context-script *script_file*] [--criteria-script *script_file*] [--resolve-script *script_file*] [--version-script *script_file*] [--unreachable-script *module_file*] [--tempdir *dirname*] *directory* (DESCRIPTION) geninfo (tracefiles) LCOV GCC LLVM/Clang ( LLVM --gcov-tool ). genhtml HTML . geninfo lcov --capture . --output-filename geninfo .info . directory . . geninfo (line) (function) . (branch) MC/DC --branch-coverage --mcdc-coverage branch_coverage = 1 / mcdc_coverage = 1 lcov . lcovrc(5) . (File types) tracefile LCOV geninfo lcov genhtml . .info . <> . .gcda file (run-time) . --coverage GCC/LLVM . geninfo .gcda . : .da . .gcno file (compile-time) . --coverage GCC/LLVM . geninfo --initial .gcno . : .bb .bbg . .gcov file JSON .gcda .gcno . gcov GCC ( LLVM --gcov-tool ). gcov (intermediate) JSON. geninfo gcov .gcda .gcno gcov . .gcda .gcno .gcov gcov ..SS (Exclusion markers) tracefile . <<>> (unreachable) . (coverpoint) (i.e. ) <> . retain_unreachable_coverpoints_if_executed lcovrc(1) . MC/DC . . lcovrc(5) (e.g. ). geninfo : LCOV_EXCL_LINE . LCOV_EXCL_START . . LCOV_EXCL_STOP . . LCOV_UNREACHABLE_LINE <<>> (hit) : . . LCOV_EXCL_LINE . LCOV_UNREACHABLE_START . . LCOV_UNREACHABLE_LINE : . LCOV_UNREACHABLE_STOP . . LCOV_EXCL_BR_LINE (branch coverage) . LCOV_EXCL_BR_START . . LCOV_EXCL_BR_STOP . . LCOV_EXCL_EXCEPTION_BR_LINE (exception branch coverage) : . LCOV_EXCL_EXCEPTION_BR_START . . LCOV_EXCL_EXCEPTION_BR_STOP . . geninfo "-unreachable-script" . MC/DC . (callback) : bin/unreach.pm. callback : LCOV_EXCLUDE_BRANCH (expressionId[,blockId])+ . expressionId: . . blockId . . . LCOV_UNREACHABLE_COND ([groupSize,]conditionId(t|f))+ MC/DC . groupSize . groupSize . MC/DC groupSize . conditionId . . sense `t' `f': : code // LCOV_EXCLUDE_BRANCH 0,1 3 LCOV_EXCLUDE_CONDITION 0f ( ) <> ( MC/DC ). / HTML / (tooltip) . BRDA/MCDC . . (OPTIONS) () geninfo - -config-file lcovrc(5) . -b, --base-directory directory directory . geninfo : ERROR: could not read source file /home/user/project/subdir1/subdir2/subdir1/subdir2/file.c /home/user/project . geninfo libtool i.e. . . geninfo_auto_base=1 ( lcovrc(5) ). --build-directory build_dir .gcno build_dir .o .gcda. geninfo .gcno .gcda ( ) . : geninfo path1 --build-directory path2 ... geninfo .gcno: path2/relative/path/to/da_base.gcno .gcda: path1/relative/path/to/da_base.gcda. . GCOV_PREFIX gcc llvm . gcc(1) / GCOV_PREFIX GCOV_PREFIX_STRIP . .gcno . - . --source-directory dirname `dirname' . gcov - geninfo `cwd' ( genhtml ) . . . --branch-coverage . <<-rc branch_coverage=1>> genhtml . --mcdc-coverage MC/DC. <<-rc mcdc_coverage=1>> . MC/DC GCC 14.2 LLVM 18.1 . MC/DC LLVM llvm2lcov -help . MC/DC genhtml(1) . --checksum, --no-checksum tracefile . --checksum --no-checksum . . . . tracefile . --version-script - << >>. --compat mode = value [,*mode* = value,] . --compat geninfo . mode=value . : on . off . auto . . `on' . (modes) : libtool libtool . --compat-libtool . `on' . hammer GCC 3.3 ( hammer) GCC . GCC 3.3 .bbg . GCC 3.3 .bb . `auto' . split_crc GCC 4.6 ( ) GCC . geninfo GCC `out of memory' `reached unexpected end of file'. `auto' . --compat-libtool, --no-compat-libtool libtool . --compat-libtool libtool --no-compat-libtool . libtool . libtool geninfo .gcda <<.libs>> . <<.libs>> libtool . --config-file config-file . lcovrc(5) . config_file . /etc/lcovrc ~/.lcovrc . geninfo . - . --profile [profile-data-file] . profile-data-file -output-filename <<.json>> . geninfo ( $LCOV_ROOT/share/lcov/support-scripts/spreadsheet.py ) `geninfo -parallel' ( <<-history-script>> ). --history-script callback . - . previous-profile-data-file <<-profile>> . callback $LCOV_ROOT/share/lcov/support-scripts/history.pm $LCOV_ROOT/share/lcov/example ( .../example .../scripts/history.pm ). genhtml(1) . --external, --no-external . -directory -base-directory . -external -no-external . -directory -base-directory <<>> -follow . -no-external -exclude -include / -no-external . . -f, --follow .gcda ( ) <<>> - -no-external . -follow geninfo_follow_symlinks . lcovrc(5) . --sort-input / . . sort_input lcovrc(5) . --gcov-tool tool gcov. --gcov-tool callback - -Xlinker gcc. . callback : tool-0 `tool-1; `filename''. . --gcov-tool split_char - man(4) lcovrc . LLVM : geninfo --gcov-tool llvm-cov --gcov-tool gcov ... geninfo --gcov-tool llvm-cov,gcov ... : `llvm-cov gcov da_file_name' gcov lcov . `gcov' . -h, --help . --include pattern pattern. . --include . (patterns) ( ). lcov . --exclude pattern pattern. . --exclude . (patterns) ( ). : . --include . include exclude exclude . lcov . --erase-functions regexp (regexp) . -demangle-cpp mangled demangled . gcc / - derive_function_end_line lcovrc . --substitute regexp_pattern regexp_pattern . gcov . lcov . --omit-lines regexp regexp . (branch) MC/DC ( ) . lcov . --forget-test-names (tracefile) - . . forget_testcase_names . --msg-log [log_file_name] ( STDERR). log_file_name . --ignore-errors errors . geninfo . ( ) ( ) : geninfo ... --ignore-errors unused,unused errors : branch ( `BRDA' .info) . callback (Version script error). child -parallel . : . : parallel / - lcov. corrupt / . count - . `max_message_count' . lcovrc . deprecated . - . empty .info ( <<>> ). excessive - . excessive_count_threshold lcovrc(5) . fork -parallel. (-ignore-errors fork) genhtml . . format .info - . gcov gcov . graph ..TP inconsistent : . . ( genhtml(1) ). internal . (testcase) . mismatch / - . missing . negative (<>) . GCC - : https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68080 <<-fprofile-update=atomic>> . . package perl . - . parallel - . parallel . -parallel . ( ) . parent -parallel . - . - . path - .gcno .gcda -build-directory . range . gcov . source . unreachable ( MC/DC) <<>> (unreachable) (hit) . retain_unreachable_coverpoints_if_executed ( ) . lcovrc(5) <> . unsupported . / GCOV GCC . unused include/exclude/erase/omit/substitute . usage - . utility ( `find' ). version - . -ignore-errors genhtml(1) . / . `max_message_count' lcovrc(5) . . --expect-message-count message_type = expr [,*message_type* = expr] geninfo . <> ( ). genhtml(1) <> lcovrc(5) . --keep-going : . stop_on_error [0|1] lcovrc . lcovrc(5) . --fail-under-lines percentage geninfo percentage 1 . lcov(1) . --preserve ( ). . --filter filters . genhtml . --demangle-cpp [param] (demangle) C++ . genhtml . -i, --initial (zero coverage). geninfo .bb .bbg .gcno . (<>) (instrumented) . ( lcov -a) (object code) . -all . : --initial 6 gcc 8 gcc . --all (.gcno) (.gcda) . . . -initial . --all geninfo -initial geninfo . geninfo_capture_all man(5) lcovrc . --no-markers -no-markers geninfo region branch_region . . -filter . -no-markers -filter . --no-recursion . -o, --output-filename output-filename output-filename. ( ) . .gcda tracefile . --context-script script script - / . genhtml . --criteria-script script script . genhtml . geninfo ( -annotate-script genhtml ) - (callback) geninfo . --resolve-script script script GCNO -substitute -source-directory -build-directory . resolve_script . geninfo_follow_path_links . lcovrc(5) . --version-script script script . .info . genhtml . --unreachable-script module module / MC/DC . unreachable_script . lcovrc(5) . <> Perl . genhtml <> . -v, --verbose (verbosity) . / - . --quiet . stdout ( stdout ) stderr . -q, --quiet . (<>) - . --debug << >>. lcov . --comment comment_string comment_string . . . (tracefile) : . --parallel [integer], -j [integer] ( fork). . ( ). -large-file gcov . memory, memory_percentage, max_fork_fails, fork_fail_timeout, geninfo_chunk_size geninfo_interval_update lcovrc(5) . (profile) . <<-profile>> <<-history-script>> . --large-file regexp GCDA -large-file - - gcov . gcov . GCDA GCDA . ..TP --memory integer (Mb) . fork() . 0 () - . (compute farm) (job) (kill) - . - - . memory_percentage . lcovrc(5) . --rc keyword = value (override) . keyword = value lcovrc . . lcovrc(5) . -t, --test-name testname testname . (<<_>>) . ( tracefile ) . --version . --tempdir dirname . <> . (TRACEFILE FORMAT) (tracefile) genhtml geninfo lcov . tracefile . ---comment comment_string : #comment_string tracefile . # . tracefile testname : TN: .gcda (coverage) : SF: (version ID) : VER: ( lcov --add-tracefile ) << >> genhtml . --version-script callback_script lcov . (function coverage) . LCOV 2.2 . . function tracefile . (aliases) : (leader): FNL:,[,line number of function end>] . (index) . FNA:,, : FN:,[,] <<>> / ( gcc 9 ). --erase-functions --show-proportions . . (instrumented function) : FNDA:, : FNF: FNH: LCOV 2.2 - . (branch coverage) : BRDA:,[][],, - . . . ( ) . . - C/C++ gcc llvm - . - . <> genhtml - ( ) . <<->> ( ) . (exception handling) <> () - . . geninfo . <> ( gcov) <> () - . fallthrough . geninfo fallthrough . <<>> <<>> - . <> <> () . - . "-unreachable-script" genhtml(1) "ignore_unreachable_flag" lcovrc(5) . . BRDA:10,0,enable,1 BRDA:10,0,!enable,0 : if (enable) { ... } ( <> <> ). - ( ). (true) (false) - (template) . . : : lcov gcov . gcov ( ) - lcov - gcov - . lcov <<>> <<>> . - . - . lcov ( gcov .info lcov) . : . o : s1 A s1 B - . o : . (heuristic) - - (template) . lcov . ( ) . : BRF: <<>> . BRDA . BRH: <<>> . BRDA . MC/DC : MCDC:,[],,,, : - . . - 1 . . <> <> - `false' `true' `true' `false' . - 0 () . - : : . - . << >> (tooltip) MC/DC genhtml - ( ) . <> <> . `' (unreachable) `U' () . - . <<-unreachable-script>> genhtml(1) <> lcovrc(5) . MC/DC : MCDC:10,2,f,0,0,enable MCDC:10,2,t,1,0,enable ... : if (enable ...) { ... } `enable' true false ( ). - ( ). (statically) - (template) . . MCDC : MCF: <<>> . MCDC . MCH: <<>> . MCDC . ( ) : DA:,[,] (checksum) . geninfo MD5 . : LH: LF: : end_of_record #include . .gcno ( gcov(1) ). .gcno . .gcno . /proc/gcov ..SH " (FILES)" /etc/lcovrc . ~/.lcovrc . bin/getp4version --version-script Perforce . bin/get_signature --version-script md5hash . (AUTHORS) Peter Oberparleiter <> Henry Cox <> . (SEE ALSO) genhtml(1) , lcov(1) , lcovrc(5) , gcov(1) , llvm2lcov(1) (COPYRIGHT) 2024-2026, LCOV Project 2.5 2026-07-07 GENINFO(1)