Boost logo

Boost :

From: John Maddock (John_Maddock_at_[hidden])
Date: 2001-04-27 06:13:27


I've started modifying the regression test driver to produce a codeguard
report for each program that gets run.

For those that haven't come across this before, codeguard is Borland's
memory checking library - when a program is built with codeguard support
enabled then the library checks:

** All memory accesses (reads and writes), catches accesses to deleted
memory, array overruns (even for reads only) etc.

** Tracks all allocations/deallocations, catches memory leaks, heap
corruptions etc.

** Monitors all calls to the std C API - checks for valid input, and
successful return etc.

Finally the program prints out some statistics on the run program (sadly
not code coverage).

I've placed a preliminary version of the output here:

http://ourworld.compuserve.com/homepages/john_maddock/codeguard_results.htm

A lot of the problems reported are spurious, and seem to arise from
problems in Rogue Waves standard library (lest anyone suggest using STLPort
instead - this seems to produce even more output!). However there are some
real problems getting caught:

smart_ptr_test.cpp: memory leak (deliberate).
cast_test.cpp: memory leaks.
test_pool_alloc.cpp: heap corruption - allocates with malloc and frees
with delete[]

- John Maddock
http://ourworld.compuserve.com/homepages/john_maddock/


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk