From 501d5e3b0be37ebceda96240af1e4d8df927d68f Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Wed, 14 Aug 2024 09:23:19 +0200 Subject: improve logging on main failure (#111) * add support for indenting callstack output * Explicitly catch option-parse error and reduce log spam on bad parameters * add command line to sentry error reports * log command line at startup --- src/zencore/callstack.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/zencore/callstack.cpp') diff --git a/src/zencore/callstack.cpp b/src/zencore/callstack.cpp index 905ab3d9e..d16605fb9 100644 --- a/src/zencore/callstack.cpp +++ b/src/zencore/callstack.cpp @@ -172,7 +172,7 @@ GetFrameSymbols(uint32_t FrameCount, void** Frames) } void -FormatCallstack(const CallstackFrames* Callstack, StringBuilderBase& SB) +FormatCallstack(const CallstackFrames* Callstack, StringBuilderBase& SB, std::string_view Prefix) { bool First = true; for (const std::string& Symbol : GetFrameSymbols(Callstack)) @@ -185,15 +185,19 @@ FormatCallstack(const CallstackFrames* Callstack, StringBuilderBase& SB) { First = false; } + if (!Prefix.empty()) + { + SB.Append(Prefix); + } SB.Append(Symbol); } } std::string -CallstackToString(const CallstackFrames* Callstack) +CallstackToString(const CallstackFrames* Callstack, std::string_view Prefix) { StringBuilder<2048> SB; - FormatCallstack(Callstack, SB); + FormatCallstack(Callstack, SB, Prefix); return SB.ToString(); } -- cgit v1.2.3