From 355768c56416d9feaeba7bfba089817ff7464592 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Fri, 17 Aug 2018 17:20:35 +0300 Subject: [PATCH] Add overloads to dump_stacktrace Using a function while debugging helps to see where various functions are called from. --- maxutils/maxbase/src/stacktrace.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/maxutils/maxbase/src/stacktrace.cc b/maxutils/maxbase/src/stacktrace.cc index ef1c72125..38e43e593 100644 --- a/maxutils/maxbase/src/stacktrace.cc +++ b/maxutils/maxbase/src/stacktrace.cc @@ -15,6 +15,7 @@ #include #include #include +#include #ifdef HAVE_GLIBC #include @@ -119,7 +120,7 @@ static void extract_file_and_line(const char* symbols, char* cmd, size_t size) namespace maxbase { -void dump_stacktrace(void (*handler)(const char* symbol, const char* command)) +void dump_stacktrace(std::function handler) { void *addrs[128]; int count = backtrace(addrs, 128); @@ -137,6 +138,11 @@ void dump_stacktrace(void (*handler)(const char* symbol, const char* command)) } } +void dump_stacktrace(void (*handler)(const char* symbol, const char* command)) +{ + dump_stacktrace([&](const char* symbol, const char* command){handler(symbol, command);}); +} + } #else