722件ヒット
[301-400件を表示]
(0.197秒)
種類
- インスタンスメソッド (459)
- モジュール関数 (144)
- 特異メソッド (83)
- クラス (24)
- 定数 (12)
ライブラリ
- ビルトイン (722)
クラス
- Exception (36)
- Fiber (6)
- Object (12)
-
RubyVM
:: InstructionSequence (84) - Thread (72)
-
Thread
:: Backtrace :: Location (84) - TracePoint (248)
キーワード
- Location (12)
- TracePoint (12)
- WUNTRACED (12)
-
absolute
_ path (12) -
add
_ trace _ func (12) - backtrace (24)
-
backtrace
_ locations (36) -
base
_ label (12) - binding (12)
-
callee
_ id (12) - caller (36)
-
caller
_ locations (24) -
compile
_ option (12) -
compile
_ option= (12) -
defined
_ class (12) - disable (24)
- disasm (24)
- disassemble (24)
- enable (24)
- enabled? (12)
-
eval
_ script (7) - event (12)
- fail (12)
- freeze (12)
- inspect (24)
-
instruction
_ sequence (7) - label (12)
- lineno (24)
-
method
_ id (12) - new (12)
- parameters (7)
- path (24)
- raise (30)
-
raised
_ exception (12) -
return
_ value (12) - self (12)
-
set
_ backtrace (12) -
set
_ trace _ func (24) - stat (11)
-
to
_ a (12) -
to
_ s (12) -
trace
_ var (36) -
untrace
_ var (12)
検索結果
先頭5件
-
TracePoint
# inspect -> String (11012.0) -
self の状態を人間に読みやすい文字列にして返します。
...self の状態を人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call) do |tp|
p tp.inspect # "#<TracePoint:call `foo'@/path/to/test.rb:1>"
end
trace.enable
foo 1
//}... -
TracePoint
# lineno -> Integer (11012.0) -
発生したイベントの行番号を返します。
...発生したイベントの行番号を返します。
@raise RuntimeError イベントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call, :return) do |tp|
tp.lineno
end
trace.enable
foo 1
# => 1
# 3
//}... -
TracePoint
# method _ id -> Symbol | nil (11012.0) -
イベントが発生したメソッドの定義時の名前を Symbol で返します。 トップレベルであった場合は nil を返します。
...した場合に発生します。
//emlist[][ruby]{
class C
def method_name
end
alias alias_name method_name
end
trace = TracePoint.new(:call) do |tp|
p [tp.method_id, tp.callee_id] # => [:method_name, :alias_name]
end
trace.enable do
C.new.alias_name
end
//}
@see TracePoint#callee_id... -
TracePoint
# path -> String (11012.0) -
イベントが発生したファイルのパスを返します。
...トが発生したファイルのパスを返します。
@raise RuntimeError イベントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:call) do |tp|
p tp.path # => "/path/to/test.rb"
end
trace.enable
foo 1
//}... -
TracePoint
# raised _ exception -> Exception (11012.0) -
発生した例外を返します。
...eError :raise イベントのためのイベントフックの外側で実行し
た場合に発生します。
//emlist[例][ruby]{
trace = TracePoint.new(:raise) do |tp|
tp.raised_exception # => #<ZeroDivisionError: divided by 0>
end
trace.enable
begin
0/0
rescue
end
//}... -
TracePoint
# return _ value -> object (11012.0) -
メソッドやブロックの戻り値を返します。
...timeError :return、:c_return、:b_return イベントのためのイベ
ントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:return) do |tp|
p tp.return_value # => 1
end
trace.enable
foo 1
//}... -
TracePoint
# self -> object (11006.0) -
イベントを発生させたオブジェクトを返します。
...イベントを発生させたオブジェクトを返します。
以下のようにする事で同じ値を取得できます。
//emlist[例][ruby]{
trace.binding.eval('self')
//}
@see TracePoint#binding......返します。
以下のようにする事で同じ値を取得できます。
なお、self メソッドは binding が nil になる :c_call および :c_return イベントに対しても正しく動作します。
//emlist[例][ruby]{
trace.binding.eval('self')
//}
@see TracePoint#binding... -
Thread
:: Backtrace :: Location (11000.0) -
Ruby のフレームを表すクラスです。
...s(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.to_s
end
//}
例2の実行結果:
init.rb:4:in `initialize'
init.rb:8:in `new'
init.rb:8:in `<main>'
=== 参考
* Ruby VM アドベントカレンダー #4 vm_backtrace.c: https://www.atdot.net/~ko1/diary/201212.html#d4... -
Thread
:: Backtrace :: Location # absolute _ path -> String (11000.0) -
self が表すフレームの絶対パスを返します。
...][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.absolute_path
end
# => /path/to/foo.rb
# /path/to/foo.rb
# /path/to/foo.rb
//}
@see Thread::Backtrace::Location#path...
