From a269f35002df02e2ea40df5565b7e21cf81a801c Mon Sep 17 00:00:00 2001 From: malavan Date: Mon, 19 Jul 2021 23:17:18 +0000 Subject: [PATCH] add stacktrace message Former-commit-id: 5be1620629ce8de7f419bc001f18d22d6eb4fa8a --- src/debug.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/debug.cpp b/src/debug.cpp index d74772c29..39a22e297 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -1612,15 +1612,23 @@ void safe_write(int fd, const void *pv, ssize_t cb) */ void logStackTrace(void * eip, int uplevel) { (void)eip;//UNUSED + const char *msg; int fd = openDirectLogFiledes(); if (fd == -1) return; /* If we can't log there is anything to do. */ + + msg = "\n------ STACK TRACE ------\n"; + if (write(fd,msg,strlen(msg)) == -1) {/* Avoid warning. */}; unw_cursor_t cursor; unw_context_t context; unw_getcontext(&context); unw_init_local(&cursor, &context); + /* Write symbols to log file */ + msg = "\nBacktrace:\n"; + if (write(fd,msg,strlen(msg)) == -1) {/* Avoid warning. */}; + for (int i = 0; i < uplevel; i++) { unw_step(&cursor); }