--- embedaddon/mpd/src/assert.c 2013/07/22 08:44:29 1.1.1.1 +++ embedaddon/mpd/src/assert.c 2016/11/01 09:56:12 1.1.1.2 @@ -13,8 +13,25 @@ void DoAssert(const char *file, int line, const char *failedexpr) { +#ifdef USE_BACKTRACE + void *buffer[100]; + char **strings; + int n, k; + + n = backtrace(buffer, 100); + strings = backtrace_symbols(buffer, n); + if (strings == NULL) { + Log(LG_ERR, ("No backtrace symbols found")); + } else { + for (k = 0; k < n; k++) { + Log(LG_ERR, ("%s", strings[k])); + } + free(strings); + } +#endif Log(LG_ERR, ("ASSERT \"%s\" failed: file \"%s\", line %d", failedexpr, file, line)); + DoExit(EX_ERRDEAD); }