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 <m...@milianw.de> 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 m...@milianw.de http://milianw.de _______________________________________________ Libunwind-devel mailing list Libunwind-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/libunwind-devel