On 3/17/2017 11:09 AM, Niall Douglas via Boost-users wrote:
I am pleased to announce the second review of the proposed Boost.Stacktrace library running from today until Sunday 26th.
Stacktrace is an optionally header-only library providing multiple implementation backends. At its very simplest it lets you capture the stack backtrace for the calling thread and to print it to a std::ostream& of your choice. The basic_stacktrace<> class quacks like a STL container of frame object instances. The rest of the API pretty much follows STL design principles for the most part. Use is therefore unsurprising.
You can find the documentation at http://apolukhin.github.io/stacktrace/index.html and the github repo at https://github.com/apolukhin/stacktrace.
This is my review of the stacktrace library.
For your review you may wish to consider the following questions: - What is your evaluation of the design?
The design is straightforward and easy to use.
- What is your evaluation of the implementation?
As others have said the windows.h issue should be addressed. Otherwise the implementation looks good.
- What is your evaluation of the documentation?
The doc could be expanded with some basic information about the stacktrace and frame classes and how they relate. I know the modern documentation method is some sort of tutorial with examples, and then a reference, but I always welcome some basic explanations, even in a library whose interfaces are as simple as stacktrace. So I would like to see the doc expanded with some more explanation about stacktraces and their frames.
- What is your evaluation of the potential usefulness of the library?
I think it will be useful to programmers as an alternative to visual debuggers. Its usefulness is based on its ability to show function information in its stacktracing.
- Did you try to use the library? With what compiler? Did you have any problems?
Tried with VS2014. No problems with the output. I did not try with clang or gcc on Linux or Windows.
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
A quick reading and trying it out to see if it actually works as advertised.
- Are you knowledgeable about the problem domain?
I have used stacktraces in many programming environments to debug programming problems.
And finally, every review should attempt to answer this question:
- Do you think the library should be accepted as a Boost library?
I vote to accept the library. I think the library author still has some work to do, but I believe that the library is useful enough, and uses the right approach with the different backends, to be accepted.