|
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