I tried
OpenCppCoverage
(https://github.com/Unity-Technologies/OpenCppCoverage) 0.9.3 on
SumatraPDF.
I installed 64-bit version from the installer on Win 10. I ran
OpenCppCoverage.exe --sources sumatra --
.\dbg64\SumatraPDF.exe, opened a file, closed the program.--sources limits reporting to only files whose paths
match a given pattern. Using sumatra for pattern matches all our
source files, assuming the sources were checked out to
sumatrapdf directory (because
sumatra matches sumatrapdf in file path)
and skips the sources for C/C++ libraries.It generated
CoverageReport-${date} directory with
HTML report. There's top-level index.html with links to html
file for each module (SumatraPDF.exe in our case).They recommend running on debug code.
At the end it reports generating reports for system dlls, but
also says can't get symbols, so it doesn't actually
generate anything.
The html report isn't great. Another option would be to use
--export_type=binary option which generates
SumatraPDF.cov file and write html generator myself.
I assume the format of .cov file is simple.