e.remote=0;
xbt_ex_free(e);
#else
- fprintf(stderr,"No backtrace on this arch");
+ ERROR0("No backtrace on this arch");
#endif
}
DEBUG4("%#lx %s [%#lx-%#lx]",
addr, found? "in":"out of",first,last);
}
- if (!found)
- CRITICAL0("Problem while reading the maps file");
-
fclose(maps);
free(maps_name);
+ if (!found) {
+ WARN0("Problem while reading the maps file");
+ e->bt_strings[i] = bprintf("** In ?? (%s)", backtrace[i]);
+ continue;
+ }
+
/* Ok, Found the offset of the maps line containing the searched symbol.
We now need to substract this from the address we got from backtrace.
*/
if (e->remote)
bprintf(" on host %s(%ld)",e->host,e->pid);
+ CRITICAL1("%s",e->msg);
fprintf(stderr,
"** SimGrid: UNCAUGHT EXCEPTION received on %s(%ld): category: %s; value: %d\n"
"** %s\n"
- "** Thrown by %s()%s",
+ "** Thrown by %s()%s\n",
gras_os_myname(),gras_os_getpid(),
xbt_ex_catname(e->category), e->value, e->msg,
e->procname,thrower?thrower:" in this process");