On 15/12/2016 08:01, Antony Polukhin wrote:
I've tried to do the same thing and failed: * BOOST_FORCEINLINE may be ignored by compilers (and even worse - produces a warning on some platforms when it is ignored). * skipping predefined frames count fail too - depending on the compiler/flags/version/platform different inlinement heuristics are used and a chance of skipping useful frames appears
I'll try to do some more tweaking with BOOST_FORCEINLINE + warning suppression. It may get better, but in some cases will continue to output internals in backtraces.
Is it possible to identify internal code by address rather than frame count? At least the start address of internal methods should be readily obtainable, although lengths are perhaps more problematic. Perhaps the same mechanisms used to turn trace addresses into module/function information could also be used to filter out internal frames after the fact?