Boost logo

Boost :

From: David A. Greene (greened_at_[hidden])
Date: 2001-11-24 13:12:13


Gennadiy E. Rozental wrote:

>>- Note/Debug/Warning/Error message output, with
>> multiple channels so one can turn on debugging
>> for certain parts of the program, and specify
>> levels of message output.
>>
>
> I have rather eleborated trasing stream library that I was going to
> present for general consideration after completing my current work.
> We can work together on shared submission if you wish.

I would like to contribute ideas and possibly write code,
but I'm at the moment attempting to graduate. Roland Weiss
is also interested. Perhaps we can all collaborate. I
can't make too many time commitment guarantees though.

>>- Debugger hooks
>
> ??? what exectly do you mean?

Little routines that can be called from within a debugger.
Things like getting memory use information (connected with
the memory debug library, of course) and maybe other stuff
This might be too high-level to factor out into reusable
code, but I thought I'd throw out the idea.

>>- Memory debugging
>>
>> Something along the lines of LeakTracer -- I
>> hacked up something myself a while back but it's
>> not complete or as clean as I'd like.
>
> It's very intreresting but complicated issue.

No doubt.

> provide all purpose version. I am workling on the version to be used
> with test programs with some specific needs. Though I would be rather
> interesting if somebody would provide generic version.

Me too. Right now I've got something that provides
functionality akin to purify_new_inuse() that gives
a log of all memory allocated but not freed since
the last time it was called. This is quite useful for
tracking down logical design errors that can't be
caught with a leak detection tool (because they aren't
leaks). Obviously this doesn't handle leak detection,
but it does help track down a large number of problems.
The programmer either puts these calls in places where
she "knows" what the memory usage should be or can
call the functions from a debugger to see what is
going on. It's not anywhere close to the quality I'd
want in a submission and really should be redesigned
from the ground up. It was a quick hack I put together
to find a nasty memory problem in a specific project
I was working on. At least it found it. :)

It would also be nice for such libraries to have
routines for dumping stack traces and other machine
state, though that may be too machine-dependent for
Boost.

                                  -Dave

-- 
"Some little people have music in them, but Fats, he was all music,
  and you know how big he was."  --  James P. Johnson

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