
On 09/28/2011 04:49 PM, GMan wrote:
On Wed, Sep 28, 2011 at 8:48 AM, Brett Lentz <blentz@redhat.com> wrote:
2. Adding backtrace and system_error_code support.
This adds additional exception information to boost::thread_exception, boost::thread_resource_error, and boost::thread_interrupted that allows Passenger to dump a full backtrace all the way up its stack.
[...snipped...]
Perhaps we'd like to make it opt-in, like BOOST_THROW_EXCEPTION_TRACED or something.
That's exactly the case with this set of patches. There's a set of TRACE_POINT macros that are required for users to toggle areas where they want to see the backtraces and also an DISABLE_BACKTRACES macro to turn this feature on/off globally. It also respects the NDEBUG macros, so as not to impact performance when debugging is disabled.
GMan, Nick Gorski
I'm still working on cleaning up this patchset, but if you'd like to see the documentation directly from the passenger sources, you can find it here: https://github.com/FooBarWidget/passenger/blob/master/ext/oxt/backtrace.hpp The forked boost is here: https://github.com/FooBarWidget/passenger/tree/master/ext/boost ---Brett.