libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libunwind-devel] Upstream unw_backtrace_skip?


From: Milian Wolff
Subject: Re: [Libunwind-devel] Upstream unw_backtrace_skip?
Date: Mon, 30 Jan 2017 10:23:51 +0100

On Sunday, January 29, 2017 8:59:03 PM CET Bert Wesarg wrote:
> Hi Milian,
> 
> On Sat, Jan 28, 2017 at 10:20 PM, Milian Wolff <address@hidden> wrote:
> > Hey all,
> > 
> > now that libunwind is becoming more alive again, could we get the
> > unw_backtrace_skip functionality upstream? For those who are unacquainted
> > with it:
> > 
> > It gives you the behavior of unw_backtrace, but skips the first N frames,
> > see e.g.:
> > 
> > https://gist.github.com/mikesart/8365549
> > 
> > This is often required in profilers to skip frames introduced by the
> > profiler itself.
> 
> I don't see the what this adds as a feature, what cant already be done
> by the caller after calling unw_backtrace itself? As ignoring the
> first 'n' entries in the resulting backtrace buffer has the same
> effect and it wont get faster.

This is not about it being faster, it is just that in my opinion it is a 
common way to use this API. I.e. to get a backtrace N frames deep, I currently 
have to preallocate a buffer of N + M frame pointers and call unw_backtrace, 
then skip the M first pointers that go into "my" code. Vogl is doing the same, 
and I bet other users of libunwind will do so too.

So this is really more about convenience, and the minor improvement that I 
don't need to allocate a buffer of N + M.

> What would be a enhancement for the
> user, would be an option to skip everything till the first (or last)
> entered signal frame on the stack. As that includes only the part
> which triggered the signal, but not the signal handler.

Note that in my case at least, I'm not triggering libunwind from a signal 
handler. 

> BTW, why is 'unw_backtrace' the only symbol without the usual '_U'
> prefix, it is the only one with the 'unw_' prefix.

No clue, I was wondering the same.

Cheers

-- 
Milian Wolff
address@hidden
http://milianw.de



reply via email to

[Prev in Thread] Current Thread [Next in Thread]