diff --git a/src/debug-func.hpp b/src/debug-func.hpp index a4ff962..be49328 100644 --- a/src/debug-func.hpp +++ b/src/debug-func.hpp @@ -2,7 +2,6 @@ #include #include #include -#include #include #include #include @@ -213,45 +212,13 @@ addr2line_result locate_source_file(const demangling_result& dr) void wf::print_trace(bool fast_mode) { void *addrlist[MAX_FRAMES]; - int addrlen = backtrace(addrlist, MAX_FRAMES); + int addrlen = 0; if (addrlen == 0) { LOGE("Failed to determine backtrace, recompile with ASAN!"); return; } - - char **symbollist = backtrace_symbols(addrlist, addrlen); - - for (int i = 1; i < addrlen; i++) - { - auto result = demangle_function(symbollist[i]); - - std::ostringstream line; - line << '#' << std::left << std::setw(2) << i << " "; - if (HAS_ADDR2LINE && !fast_mode && result.address.size() && - result.executable.size()) - { - auto source = locate_source_file(result); - line << source.function_name << " " << source.function_source; - } else if (result.function_name.size()) - { - line << result.function_name << " at " << result.address; - } else - { - line << symbollist[i]; - } - - auto contents = line.str(); - if (contents.size() && (contents.back() == '\n')) - { - contents.pop_back(); - } - - wf::log::log_plain(wf::log::LOG_LEVEL_ERROR, contents); - } - - free(symbollist); } /* ------------------- Impl of debugging functions ---------------------------*/ @@ -284,4 +251,4 @@ wf::pointf_t operator *(const glm::mat4& m, const wf::pointf_t& p) wf::pointf_t operator *(const glm::mat4& m, const wf::point_t& p) { return m * wf::pointf_t{1.0 * p.x, 1.0 * p.y}; -} +} \ No newline at end of file