1
0
mirror of https://github.com/RPCS3/rpcs3.git synced 2024-11-24 19:52:37 +01:00
rpcs3/Utilities/stack_trace.h

21 lines
494 B
C
Raw Normal View History

2022-08-14 02:36:53 +02:00
#pragma once
#include <util/types.hpp>
#include <util/logs.hpp>
namespace utils
{
2022-08-14 19:25:52 +02:00
std::vector<void*> get_backtrace(int max_depth = 255);
std::vector<std::string> get_backtrace_symbols(const std::vector<void*>& stack);
2022-08-14 02:36:53 +02:00
FORCE_INLINE void print_trace(logs::channel& logger, int max_depth = 255)
{
2022-08-14 19:25:52 +02:00
const auto trace = get_backtrace(max_depth);
const auto lines = get_backtrace_symbols(trace);
2022-08-14 02:36:53 +02:00
for (const auto& line : lines)
{
logger.error("%s", line);
}
}
}