Boost logo

Boost :

Subject: Re: [boost] [Stacktrace] Second review begins today 17th Mar ends 26th Mar
From: Peter Dimov (lists_at_[hidden])
Date: 2017-03-20 21:06:11


Antony Polukhin wrote:

> It is required to produce anything useful from frame/stacktrace.
> Following operations use COM (on MSVC only):
> * ostreaming stacktrace
> * ostreaming frame
> * getting function name from frame
> * getting source file location from frame
> * getting line in source file from frame

Yes, and the request is to not include COM/windows.h in programs or
translation units that don't do any of the above.

Please take a look in my message in which I outline three alternative
approaches to achieve this aim; maybe one of those would sit well with you.

> Also I can not see how you're going to use the library without 95% of
> functionality...

As already stated:

- A header-only library constructs a stack trace, f.ex. to include it when
throwing an exception
- A user of this header-only library ignores the stack trace because he is
not familiar with the stacktrace library and is unaware of the existence of
stack traces

The goal here is to not include COM/windows.h in this user's code, or
require him to link with libboost_stacktrace.

If this is not done, the authors of header-only libraries can't painlessly
transition to using stacktrace to include stack traces in their exceptions
because their users will complain about windows.h/COM or link errors. And we
want libraries to use stacktrace to include stack traces in their
exceptions, because this is a good thing that some of their users will
appreciate.


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