From 15d940b8b0361925e15f412913f346fca4bf3400 Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 19 Nov 2012 06:07:06 +0000 Subject: * thread.c: add `Thread#backtrace_locations' method. This method is similart to `caller_locations' method for specific method. And fix to accept `level' and `n' parameters for `Thread#backtrace' and `Thread#backtrace_locations'. `caller' (and `caller_locations') do not return `caller' method frame. However, `Thread#backtrace' (and `Thread#backtrace_locations') return `Thread#backtrace' method frame itself if `Thread.current.backtrace' was called. * vm_backtrace.c: ditto. * internal.h: ditto. * test/ruby/test_backtrace.rb: add tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- internal.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'internal.h') diff --git a/internal.h b/internal.h index 1ea0ca9f45..508fae3c18 100644 --- a/internal.h +++ b/internal.h @@ -310,7 +310,9 @@ void Init_prelude(void); /* vm_backtrace.c */ void Init_vm_backtrace(void); -VALUE rb_thread_backtrace(VALUE thval); +VALUE vm_thread_backtrace(int argc, VALUE *argv, VALUE thval); +VALUE vm_thread_backtrace_locations(int argc, VALUE *argv, VALUE thval); + VALUE rb_make_backtrace(void); void rb_backtrace_print_as_bugreport(void); int rb_backtrace_p(VALUE obj); -- cgit v1.2.3