--- a/src/core/control/CrashHandlerUnix.h +++ b/src/core/control/CrashHandlerUnix.h @@ -13,7 +13,6 @@ #include #include // std::ofstream -#include #include #include "util/PathUtil.h" @@ -112,11 +111,8 @@ void* array[100]; char** messages; - size_t size; + size_t size = 0; - // get void*'s for all entries on the stack - size = backtrace(array, 100); - time_t curtime = time(0); char stime[128]; strftime(stime, sizeof(stime), "%Y%m%d-%H%M%S", localtime(&curtime)); @@ -140,15 +136,6 @@ fp << "Gtk version " << gtk_get_major_version() << "." << gtk_get_minor_version() << "." << gtk_get_micro_version() << std::endl << std::endl; - - messages = backtrace_symbols(array, size); - - for (size_t i = 0; i < size; i++) { - fp << FORMAT_STR("[bt]: ({1}) {2}") % i % messages[i]; - fp << "\n"; - } - - free(messages); fp << "\n\nTry to get a better stacktrace...\n"; --- a/src/util/Stacktrace.cpp +++ b/src/util/Stacktrace.cpp @@ -14,7 +14,6 @@ #else #include // for dladdr -#include // for backtrace, backtrace_symbols #include // for readlink, ssize_t #ifdef __APPLE__ @@ -91,13 +90,10 @@ std::array trace{}; std::array buff{}; - int trace_size = backtrace(trace.data(), trace.size()); - char** messages = backtrace_symbols(trace.data(), trace_size); + int trace_size = 0; // skip first stack frame (points here) for (unsigned int i = 1; i < trace_size; ++i) { - stream << "[bt] #" << i - 1 << " " << messages[i] << endl; - Dl_info info; // NOLINT(cppcoreguidelines-init-variables) dladdr(trace[i], &info); @@ -115,7 +111,6 @@ pclose(fProc); } - free(messages); } #endif