summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tools/mruby/mruby.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/mruby/mruby.c b/tools/mruby/mruby.c
index 07d0da36c..acecc7c8e 100644
--- a/tools/mruby/mruby.c
+++ b/tools/mruby/mruby.c
@@ -168,7 +168,7 @@ showcallinfo(mrb_state *mrb)
{
mrb_callinfo *ci;
mrb_int ciidx;
- const char *filename, *sep;
+ const char *filename, *method, *sep;
int i, line;
printf("trace:\n");
@@ -199,11 +199,15 @@ showcallinfo(mrb_state *mrb)
else
sep = "#";
+ method = mrb_sym2name(mrb, ci->mid);
+ if (method == NULL)
+ method = "(???)";
+
printf("\t[%d] %s:%d:in %s%s%s\n",
i, filename, line,
mrb_class_name(mrb, ci->proc->target_class),
sep,
- mrb_sym2name(mrb, ci->mid));
+ method);
}
}