#include "src/internal_config.h" /* execinfo when available */
#include "xbt/sysdep.h"
-#include "xbt/strbuff.h"
#include "src/xbt/log_private.h"
#include "simgrid/simix.h" /* SIMIX_host_self_get_name */
#include "surf/surf.h"
case 'M': /* method (ie, function) name; LOG4J compliant */
show_string(ev->functionName);
break;
- case 'b': /* backtrace; called %throwable in LOG4J */
- case 'B': /* short backtrace; called %throwable{short} in LOG4J */
-// TODO, backtrace
-#if 0 && HAVE_BACKTRACE && HAVE_EXECINFO_H && HAVE_POPEN && defined(ADDR2LINE)
- {
- xbt_ex_t e("");
-
- e.used = backtrace((void **) e.bt, XBT_BACKTRACE_SIZE);
- e.bt_strings = NULL;
- xbt_ex_setup_backtrace(&e);
- if (*q == 'B') {
- show_string(e.bt_strings[1] + 8);
- } else {
- xbt_strbuff_t buff = xbt_strbuff_new();
- int i;
- xbt_strbuff_append(buff, e.bt_strings[1] + 8);
- for (i = 2; i < e.used; i++) {
- xbt_strbuff_append(buff, "\n");
- xbt_strbuff_append(buff, e.bt_strings[i] + 8);
- }
- show_string(buff->data);
- xbt_strbuff_free(buff);
- }
- }
-#else
- show_string("(no backtrace on this arch)");
-#endif
- break;
case 'd': /* date; LOG4J compliant */
show_double(surf_get_clock());
break;