feat: log stacktrace implementation used (#1769)

This commit is contained in:
iTrooz
2024-06-22 21:33:52 +02:00
committed by GitHub
parent b93fd523aa
commit 65dfd4da0f
3 changed files with 22 additions and 11 deletions

View File

@@ -29,7 +29,7 @@ namespace {
}
std::vector<StackFrame> getStackTrace() {
StackTraceResult getStackTrace() {
std::vector<StackFrame> stackTrace;
HANDLE process = GetCurrentProcess();
@@ -100,7 +100,7 @@ namespace {
SymCleanup(process);
return stackTrace;
return StackTraceResult{ stackTrace, "StackWalk" };
}
}
@@ -119,7 +119,7 @@ namespace {
}
std::vector<StackFrame> getStackTrace() {
StackTraceResult getStackTrace() {
static std::vector<StackFrame> result;
std::array<void*, 128> addresses = {};
@@ -135,7 +135,7 @@ namespace {
result.push_back(StackFrame { std::move(fileName), std::move(demangledName), 0 });
}
return result;
return StackTraceResult{ result, "execinfo" };
}
}
@@ -162,7 +162,7 @@ namespace {
}
}
std::vector<StackFrame> getStackTrace() {
StackTraceResult getStackTrace() {
static std::vector<StackFrame> result;
result.clear();
@@ -180,7 +180,7 @@ namespace {
}
return result;
return StackTraceResult{ result, "backtrace" };
}
}
@@ -192,8 +192,12 @@ namespace {
namespace hex::stacktrace {
void initialize() { }
std::vector<StackFrame> getStackTrace() { return { StackFrame { "??", "Stacktrace collecting not available!", 0 } }; }
StackTraceResult getStackTrace() {
return StackTraceResult {
{StackFrame { "??", "Stacktrace collecting not available!", 0 }},
"none"
};
}
}
#endif