diff options
Diffstat (limited to 'core/abort.c')
-rw-r--r-- | core/abort.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/core/abort.c b/core/abort.c index 3b8e536..08f9d1c 100644 --- a/core/abort.c +++ b/core/abort.c @@ -1,11 +1,20 @@ #include <rune/core/abort.h> #include <rune/core/init.h> #include <rune/core/logging.h> -#include <execinfo.h> #include <stdlib.h> #define MAX_TRACE_ITEMS 30 +#ifdef _WIN32 + +void _stack_trace(void) { + log_output(LOG_ERROR, "Stack tracing is not supported on Windows"); +} + +#else + +#include <execinfo.h> + void _stack_trace(void) { void* buffer[MAX_TRACE_ITEMS]; int num_links = backtrace(buffer, MAX_TRACE_ITEMS); @@ -17,6 +26,8 @@ void _stack_trace(void) { free(symbuf); } +#endif + void rune_abort(void) { log_output(LOG_INFO, "Abort called, printing stack trace"); _stack_trace(); |