|
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