Dr. Memory
|
Dr. Memory provides optional code coverage information to aid in fuzz testing (Fuzz Testing Mode) or in general testing.
Enabling Coverage Information
Simply specify the -coverage
runtime option to request code coverage information. The raw coverage data will be stored in a file with a "drcov" prefix in the regular Dr. Memory log directory. The file will be pointed at by a line at the end of the summary, if the application has a console for text output. This line looks like this:
~~Dr.M~~ Code coverage raw data: /home/joe/drmemory/logs/DrMemory-myapp.13112.000/drcov.myapp.13112.0000.proc.log
Post Processing
The "drcov" file is raw data in drcov
format that must be post-processed to make it human readable. DynamoRIO's drcov2lcov
utility converts it into lcov
format. The Dr. Memory release package includes a copy of this utility. Simply use its -input
parameter to point at the drcov
log file:
dynamorio/tools/bin32/drcov2lcov -input logs/DrMemory-myapp.13112.000/drcov.myapp.13112.0000.proc.log
The resulting coverage.info
file (in the current directory by default) is in the standard lcov
format and can be processed by the lcov tool to produce nice html result pages.
For a full description of the drcov2lcov usage see the drcov
documemtation at https://dynamorio.org/page_drcov.html.