#pragma once #include #include #include #include #include namespace NDwarf { struct TLineInfo { TString FileName; int Line; int Col; TString FunctionName; uintptr_t Address; int Index; }; struct TError { int Code; TString Message; }; enum class EResolving { Continue = 0, Break = 1, }; using TCallback = std::function; // Resolves backtrace addresses and calls the callback for all line infos of inlined functions there. // Stops execution if the callback returns `EResolving::Break`. [[nodiscard]] TMaybe ResolveBacktrace(TArrayRef backtrace, TCallback callback); }