BullseyeCoverage
After instrumenting and running your test program, BullseyeCoverage shows information for all project source code but the coverage measurements shown for one or more functions are unexpectedly 0%.
Possible causes of this problem:
LoadLibraryEx
was used with the DONT_RESOLVE_DLL_REFERENCES
flag,
or an executable module (.exe
) was loaded with LoadLibrary
or LoadLibraryEx
.
BullseyeCoverage
,
like shown below.
$ strings calc1.exe | grep "^BullseyeCoverage " BullseyeCoverage 9.10.0 ← product version BullseyeCoverage 8.20.0 ← file format version
On Windows, the strings
and grep
commands can be found in
Cygwin
or
MSYS2 .
If COVERR
is not set,
errors are written to standard error with Windows console programs and Unix-like systems.
With Windows GUI programs, errors are written to %USERPROFILE%\BullseyeCoverageError.txt
.
If you find a BullseyeCoverage run-time error occurred, see Run-Time Errors for a description and resolution.
Add a call to cov_write to your program at a point you believe is executed. For embedded systems or test programs that use the small footprint run-time configuration, call cov_dumpData instead. Display the return code status and look it up at Run-Time Errors.
#include <stdio.h> ... fprintf(stderr, "cov_write %d\n", cov_write());
#include <stdio.h> ... { FILE * f = fopen("logfile", "a"); fprintf(f, "cov_write %d\n", cov_write()); fclose(f); }
#include <windows.h> ... { char buf[99]; wsprintf(buf, "cov_write %d\n", cov_write()); MessageBox(0, buf, 0, 0); }
printk(KERN_INFO "BullseyeCoverage: cov_check=%d\n", cov_check());
DbgPrintEx(DPFLTR_DEFAULT_ID, DPFLTR_ERROR_LEVEL, "BullseyeCoverage: cov_write=%d", cov_write());
DONT_RESOLVE_DLL_REFERENCES
.
Do not load an executable module (.exe
) with LoadLibrary
or LoadLibraryEx
.
The coverage file does not grow in size with new coverage. To determine whether the coverage file has been updated, view a coverage report.
Updated: 8 Jul 2024
Copyright © Bullseye Testing Technology. All Rights Reserved.