#include #include namespace NYT::NBacktrace { //////////////////////////////////////////////////////////////////////////////// void SymbolizeBacktrace( TBacktrace backtrace, const std::function& frameCallback) { for (int index = 0; index < std::ssize(backtrace); ++index) { TRawFormatter<1024> formatter; formatter.AppendNumber(index + 1, 10, 2); formatter.AppendString(". 0x"); formatter.AppendNumber(reinterpret_cast(backtrace[index]), /*radix*/ 16, /*width*/ 12); formatter.AppendString("\n"); frameCallback(formatter.GetBuffer()); } } //////////////////////////////////////////////////////////////////////////////// } // namespace NYT::NBacktrace