summaryrefslogtreecommitdiffhomepage
path: root/src/backtrace.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-07-08 10:06:01 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-07-08 10:06:01 +0900
commit38c9c5c627296dafe9d9b172f95fea990c47e758 (patch)
tree986c75050c63311c0556af696d66aac25bca8baf /src/backtrace.c
parentf9303699d137d7a35d878c6f40c8ef048fa35ef4 (diff)
downloadmruby-38c9c5c627296dafe9d9b172f95fea990c47e758.tar.gz
mruby-38c9c5c627296dafe9d9b172f95fea990c47e758.zip
backtrace.c: skip C method without `mid` set.
That means it's a method not to be included in the backtrace, for example `raise`.
Diffstat (limited to 'src/backtrace.c')
-rw-r--r--src/backtrace.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backtrace.c b/src/backtrace.c
index 7ff1cea6c..65cb0da1c 100644
--- a/src/backtrace.c
+++ b/src/backtrace.c
@@ -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;
}