#includevoid printStackTrace() { void* stackTrace[10]; int size = backtrace(stackTrace, 10); char** text = backtrace_symbols(stackTrace, size); printf("Call stack:\n"); for (int i = 0; i < size; i++) { printf("\t%s\n", text[i]); } free(text); }
#includeThe package library for Task DebugInfo in C++ is typically included in the standard library or runtime environment for the C++ compiler being used.#include #include std::string getCurrentFunctionName() { const void* addr = __builtin_return_address(0); char buf[1024]; char* name = abi::__cxa_demangle(_Unwind_FindEnclosingFunction(addr), buf, 1024, nullptr); std::string result = name ? name : ""; free(name); return result; }