From 316119069d4aa2d715f943069ee9c28a83df598c Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 10 Jul 2023 07:57:02 +0900 Subject: [PATCH] backtrace.c (each_backtrace): skip callinfo without debug_info --- src/backtrace.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/backtrace.c b/src/backtrace.c index 751f6ef8b..8455bb84b 100644 --- a/src/backtrace.c +++ b/src/backtrace.c @@ -34,6 +34,7 @@ count_backtrace(mrb_state *mrb, ptrdiff_t ciidx) else { irep = ci->proc->body.irep; if (!irep) continue; + if (!irep->debug_info) continue; if (!mrb->c->cibase[i].pc) { continue; } @@ -72,6 +73,7 @@ each_backtrace(mrb_state *mrb, ptrdiff_t ciidx, each_backtrace_func func, void * else { loc.irep = ci->proc->body.irep; if (!loc.irep) continue; + if (!loc.irep->debug_info) continue; if (mrb->c->cibase[i].pc) { pc = &mrb->c->cibase[i].pc[-1]; } @@ -90,6 +92,7 @@ each_backtrace(mrb_state *mrb, ptrdiff_t ciidx, each_backtrace_func func, void * loc.irep = ci->proc->body.irep; if (!loc.irep) continue; + if (!loc.irep->debug_info) continue; if (mrb->c->cibase[j].pc) { pc = &mrb->c->cibase[j].pc[-1];