Ways to improve performance of the Error Detection tool.



How can I get BoundsChecker/Error Detection to execute faster?


This pertains to versions 8.0 and 8.1 of BoundsChecker.

The first thing to check is that you are not examining modules that you are not interested in.  Under "Error detection settings->Modules and files", make sure that you uncheck any .dlls or files that you don't want to collect data on (system files and any utility headers that have been tested previously).  Also, click on the "system directories" tab and make sure that all the relevant system directories are included, and that they are setup to suppress their sub directories as well (the folder icon will appear as a cascade of 3 folders).

The memory tracker is the most resource-intensive feature of BC.  Try setting "Check Heap Blocks at runtime" to "On free".  If this is still too slow, you may want to disable Guard Bytes altogether.  This will mean you won't catch array overruns as they happen, but any leaks will still be reported on program exit.  

Under the "General" tab, try reducing the call stack depth on allocation and error.  This should speed things up and reduce the size of the log file generated.

Also make sure that any features you are not interested in (COM tracking, clr analysis etc) are disabled.  

If you are using COM, make sure that under COM Call Reporting and COM object tracker that only those classes and interfaces you are interested in are checked.  Monitoring all COM objects will slow things down substantially.

Old KB# 11157
Comment List
Related Discussions