|
Boost : |
Subject: Re: [boost] Is there interest in a collection of call stack utilities?
From: Artyom Beilis (artyomtnk_at_[hidden])
Date: 2013-03-03 04:54:09
Hello,
This thread reminds me the following thread I had started:
http://thread.gmane.org/gmane.comp.lib.boost.devel/209982
Also the code had improved since than:
https://sourceforge.net/p/cppcms/code/2238/tree/framework/trunk/booster/booster/backtrace.h
https://sourceforge.net/p/cppcms/code/2238/tree/framework/trunk/booster/lib/backtrace/src/backtrace.cpp
Several notes:
bfd library is GPL license which would be a major drawback.
Also I noticed that you use mostly glibc's backtrace.
I don't know at what level your code is gblic specific but backtrace
is avalible on many platforms like Solaris and latests Mac OS X's
You can also use _Unwind_Backtrace function that is much widely supported. Also
on some platforms backtrace provided by libexec (like FreeBSD) is quite broken.
Additionally I noticed that you use ::StackWalk64 AFAIK it is not thread safe function.
I see that you wrap everything with a mutex which makes the library much slower.
I'd suggest to use RtlCaptureStackBackTrace instead.
You can also utilize function like backtrace_symbols. AFAIR not every platform has
dladdr (Solaris if I recall correctly)
Generally it is very interesting topic and very useful stuff (from my experience
in deploy with CppCMS).
I'd suggest:
1. Take a look on my code, you probably can improve platform support
2. Try to integrate the code with throwing an exception which would make it
much more useful.
Artyom Beilis
--------------
CppCMS - C++ Web Framework: http://cppcms.com/
CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/
----- Original Message -----
> From: Aurelian Melinte <ame01_at_[hidden]>
> To: boost_at_[hidden]
> Cc:
> Sent: Sunday, March 3, 2013 3:21 AM
> Subject: [boost] Is there interest in a collection of call stack utilities?
>
> Hello,
>
> I have a collection of debugging/diagnostic utilities to inspect the run-time
> call stack and to resolve symbol information. The tools are currently C++11
> code and support GNU-Linux and Windows. An overview is available at
> https://freeshell.de//~amelinte/call_stack_usage.html
>
> Is there interest for potential inclusion in boost?
>
> Thanks,
> Aurelian
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk