*/
char **backtrace_symbols(void *const *buffer, int size);
+void xbt_backtrace_current(xbt_ex_t * e) {
+ e->used = backtrace((void **) e->bt, XBT_BACKTRACE_SIZE);
+}
+
+
void xbt_ex_setup_backtrace(xbt_ex_t * e)
{
int i;
- char **backtrace_syms = backtrace_symbols(e->bt, e->used);
+ char **backtrace_syms;
- e->used = backtrace((void **) e->bt, XBT_BACKTRACE_SIZE);
+ xbt_assert0(e && e->used,"Backtrace not setup yet, cannot set it up for display");
+
+ backtrace_syms = backtrace_symbols(e->bt, e->used);
e->bt_strings = NULL;
/* parse the output and build a new backtrace */
e->bt_strings = xbt_new(char *, e->used);