backtrace.c: skip C method without mid set.

That means it's a method not to be included in the backtrace, for
example `raise`.
This commit is contained in:
Yukihiro "Matz" Matsumoto
2021-07-08 10:06:01 +09:00
parent f9303699d1
commit 38c9c5c627
+1
View File
@@ -45,6 +45,7 @@ each_backtrace(mrb_state *mrb, ptrdiff_t ciidx, each_backtrace_func func, void *
ci = &mrb->c->cibase[i];
if (!ci->proc || MRB_PROC_CFUNC_P(ci->proc)) {
if (!ci->mid) continue;
loc.lineno = -1;
idx = 0;
}