31#if defined(FREECIV_DEBUG) && defined(HAVE_BACKTRACE) && !defined(FREECIV_TESTMATIC)
32#define BACKTRACE_ACTIVE 1
35#ifdef BACKTRACE_ACTIVE
40#define LOG_BACKTRACE LOG_NORMAL
42#define MAX_NUM_FRAMES 256
47 const char *
where,
const char *msg);
49 const char *
where,
const char *msg);
57#ifdef BACKTRACE_ACTIVE
67#ifdef BACKTRACE_ACTIVE
76 log_error(
"Backtrace log (pre)callback cannot be removed");
81#ifdef BACKTRACE_ACTIVE
86 const char *
where,
const char *msg)
99 const char *
where,
const char *msg)
118#ifdef BACKTRACE_ACTIVE
126 if (names ==
nullptr) {
void backtrace_deinit(void)
void backtrace_init(void)
void backtrace_print(enum log_level level)
log_pre_callback_fn log_set_pre_callback(log_pre_callback_fn precallback)
void(* log_pre_callback_fn)(enum log_level, bool print_from_where, const char *where, const char *msg)
#define log_error(message,...)
struct setting_list * level[OLEVELS_NUM]
int fc_snprintf(char *str, size_t n, const char *format,...)