instance method Thread#backtrace_locations

backtrace_locations(start = 0, length = nil) -> [Thread::Backtrace::Location] | nil[permalink][rdoc]
backtrace_locations(range) -> [Thread::Backtrace::Location] | nil

スレッドの現在のバックトレースを Thread::Backtrace::Location の配列で返します。

引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil を返します。

[PARAM] start:
開始フレームの位置を数値で指定します。
[PARAM] length:
取得するフレームの個数を指定します。
[PARAM] range:
取得したいフレームの範囲を示す Range オブジェクトを指定します。

Kernel.#caller_locations と似ていますが、本メソッドは self に限定した情報を返します。



thread = Thread.new { sleep 1 }
thread.run
thread.backtrace_locations # => ["/path/to/test.rb:1:in `sleep'", "/path/to/test.rb:1:in `block in <main>'"]

[SEE_ALSO] Thread::Backtrace::Location