Method: Fiber#backtrace_locations

Defined in:
cont.c

#backtrace_locationsArray #backtrace_locations(start) ⇒ Array #backtrace_locations(start, count) ⇒ Array #backtrace_locations(start..end) ⇒ Array

Like #backtrace, but returns each line of the execution stack as a Thread::Backtrace::Location. Accepts the same arguments as #backtrace.

f = Fiber.new { Fiber.yield }
f.resume
loc = f.backtrace_locations.first
loc.label  #=> "yield"
loc.path   #=> "test.rb"
loc.lineno #=> 1

Overloads:

  • #backtrace_locationsArray

    Returns:

  • #backtrace_locations(start) ⇒ Array

    Returns:

  • #backtrace_locations(start, count) ⇒ Array

    Returns:

  • #backtrace_locations(start..end) ⇒ Array

    Returns:



3013
3014
3015
3016
3017
# File 'cont.c', line 3013

static VALUE
rb_fiber_backtrace_locations(int argc, VALUE *argv, VALUE fiber)
{
    return rb_vm_backtrace_locations(argc, argv, &fiber_ptr(fiber)->cont.saved_ec);
}