From: brianjparker_at_[hidden]
Date: 2001-11-25 01:47:18


--- In boost_at_y..., "David A. Greene" <greened_at_e...> wrote:
> Is anyone working on debugging or stream libraries
> for Boost? By debugging libraries I mean things like:
> ...
> I'm sure there are other things folks
> have found useful.
>
> -Dave

I have submitted a simple trace library; it is in the files section
in the file "bjp_utilities*.zip".

The main distinguishing feature of this library is that it can
(optionally) output debug and performance trace messages in a release
build- this is essential for debugging time-critical codes, such as
real-time video processing, which would run intolerably slowly in a
debug build. The other main feature is that under Windows it outputs
the debug data to a separate viewing application (DebugView).

The basic syntax is simply-
DEBUG_TRACE(n) where n is any type with an operator << defined.
Currently, there is also DEBUG_TRACE2(n1, n2) etc. macros for
multiple arguments. (When C99 variadic macros are added in the next
C++ revision, DEBUG_TRACE() itself will be able to take multiple
arguments).

Different debug streams can be output using the DEBUG_TRACE_IF()
macro (see the documentation for further details).

I have used and evolved these trace routines over several years, and
find them extremely useful. Ideally, I would like to see similar
facilities available in any Boost debug trace library.

Cheers,
Brian Parker