Visual FoxPro produces coverage logs with one line for every line of code that is run. These logs can be very large. The internal logs might be several megabytes in size even after of under 10 minutes. The corresponding coverage engine work tables can also be very large; you should expect them to be several times the size of the original log.
If you experience "out of disk space" errors during coverage runs, you can change the size of some of the engine work table fields to make these tables somewhat smaller.
The default values of these fields are 115, because it allows for long path names and long object and method names. Values longer than 115 are not recommended, because two of these fields might be used in concatenated keys in which the sum of any two field lengths must not exceed the maximum key length (240).
Do not decrease the Hostfile field unless you are sure the lengths of your fully-qualified source files will not be exceeded. Otherwise, the engine might generate errors when it tries to find the uncompiled versions of these files.
If you know that you nest pageframes and grids several container-layers deep, or that you tend to use very long class names, specify values greater than the maximum string length that ObjClass or Executing fields are likely to contain, plus a margin for error. You might want to examine the source and target files first, to see how the engine uses these fields.
Once you've decreased the size of the ObjClass or Executing fields, beware of suddenly-incorrect coverage and profiling statistics. Even though the Profiler generates no obvious errors when the analyzing the log, statistical errors will occur if object and method names are being truncated in the fields.
Ordinarily you use the iLenHostfile, iLenObjClass, and iLenExecuting property values to change the size of these fields. You can even change them dynamically while Coverage is open, before you open a coverage log which is unusually large.
Important Once you've opened a log, do not change these values until you are ready to evaluate a new log, or you may experience statistical errors when new target entries' code is marked.
However, if you have set COV_TOPSPEED true (.T.) in the COV_TUNE.H header file, to increase speed by forcing the engine to make in-line calls, the engine uses constants also defined in COV_TUNE.H, rather than property values, to determine the size of these fields. (These values are used repeatedly, to ensure exact comparisons, as the engine parses lines of code.) If you set COV_TOPSPEED true (.T.), you must set the values in COV_TUNE.H directly.