種類
- 文書 (71)
- モジュール関数 (55)
- インスタンスメソッド (44)
- 特異メソッド (22)
- 定数 (11)
クラス
-
RubyVM
:: InstructionSequence (11) - TracePoint (55)
- Tracer (11)
モジュール
- Kernel (55)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
EVENT
_ SYMBOL (11) -
NEWS for Ruby 2
. 1 . 0 (11) -
NEWS for Ruby 2
. 7 . 0 (5) - Ruby用語集 (11)
-
callee
_ id (11) - event (11)
-
method
_ id (11) - new (11)
-
ruby 1
. 8 . 4 feature (11) -
ruby 1
. 9 feature (11) -
set
_ trace _ func (11) -
to
_ a (11) -
trace
_ var (33) -
untrace
_ var (11) - セキュリティモデル (11)
検索結果
先頭5件
-
TracePoint
. trace(*events) {|obj| . . . } -> TracePoint (21225.0) -
新しい TracePoint オブジェクトを作成して自動的にトレースを開始し ます。TracePoint.new のコンビニエンスメソッドです。
...新しい TracePoint オブジェクトを作成して自動的にトレースを開始し
ます。TracePoint.new のコンビニエンスメソッドです。
@param events トレースするイベントを String か Symbol で任
意の数指定します。指定できる値に......ついては
TracePoint.new を参照してください。
//emlist[例][ruby]{
trace = TracePoint.trace(:call) { |tp| [tp.lineno, tp.event] }
# => #<TracePoint:0x007f786a452448>
trace.enabled? # => true
//}
@raise ThreadError ブロックを指定しなかった場合に発生し... -
Tracer
:: EVENT _ SYMBOL (9107.0) -
トレース出力のシンボルのハッシュです。 下記のような文字列があります。
...トレース出力のシンボルのハッシュです。
下記のような文字列があります。
EVENT_SYMBOL = {
"line" => "-",
"call" => ">",
"return" => "<",
"class" => "C",
"end" => "E",
"c-call" => ">",
"c-return" => "<",
}
@see Tracer.add_filter... -
Kernel
. # set _ trace _ func(proc) -> Proc (6131.0) -
Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。
...する度に、以下で説明する6個の引数とともに
登録された Proc オブジェクトを実行します。
標準添付の debug、tracer、
profile はこの組み込み関数を利用して実現されています。
=== ブロックパラメータの意味
渡す Proc オブジ...... Symbol オブジェクト。
トップレベルでは nil。
call/return/c-call/c-return
呼び出された/リターンするメソッドを表す Symbol オブジェクト。
class/end
nil。
raise
最後に呼び出されたメソッドを表す Symbol......レースをオフにします。
@return proc を返します。
//emlist[例][ruby]{
set_trace_func lambda {|*arg|
p arg
}
class Foo
end
43.to_s
# ----結果----
# ["c-return", "..", 1, :set_trace_func, #<Binding:0xf6ceb8>, Kernel]
# ["line", "..", 4, nil, #<Binding:0x10cbcd8>, nil]
# ["c-cal... -
Kernel
. # untrace _ var(varname , hook = nil) -> [String|Proc] (6130.0) -
グローバル変数 varname に関連付けられたフックを解除します。
...列か Symbol で指定します。
@param hook 文字列または Proc オブジェクトです。
@return 解除されたフックの配列を返します。
//emlist[例][ruby]{
trace_var(:$v){|val| print "hookA.#{val.inspect},\n" }
block = proc{|val| print "hookB.#{val.inspect}," }
trace_var(:$......#=> hookB."str",hookA."str",
untrace_var(:$v,block)
$v = 'str' #=> hookA."str",
trace_var(:$v){|val| print "hookC.#{val.inspect}," }
p untrace_var(:$v) #=> [#<Proc:0x02b68f58@..:9>, #<Proc:0x02b6978c@..:3>]
$v = 'str' # なにも出力されない
//}
@see Kernel.#trace_var... -
Kernel
. # trace _ var(varname) {|new _ val| . . . . } -> nil (6121.0) -
グローバル変数 varname への代入のフックを登録します。
...場合はRubyコードとして評価されます。
trace_var がフックするのは明示的な代入だけです。
フックは複数登録できます。
フックを解除するには、hook に nil を
指定するか、Kernel.#untrace_var を用います。
hook が nil ならば、設......か Symbol で指定します。
@param hook フックになる文字列または Proc オブジェクトです。
@return フックを登録した場合は nil を返します。解除した場合は解除した
フックを並べた配列を返します。
//emlist[例][ruby]{
trace_var(:......$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1 #=> hook: $v=1
$v = "foo" #=> hook: $v="foo"
$v.upcase!
p $v #=> "FOO"
//}
@see Kernel.#untrace_var... -
Kernel
. # trace _ var(varname , hook) -> [String|Proc] (6121.0) -
グローバル変数 varname への代入のフックを登録します。
...場合はRubyコードとして評価されます。
trace_var がフックするのは明示的な代入だけです。
フックは複数登録できます。
フックを解除するには、hook に nil を
指定するか、Kernel.#untrace_var を用います。
hook が nil ならば、設......か Symbol で指定します。
@param hook フックになる文字列または Proc オブジェクトです。
@return フックを登録した場合は nil を返します。解除した場合は解除した
フックを並べた配列を返します。
//emlist[例][ruby]{
trace_var(:......$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1 #=> hook: $v=1
$v = "foo" #=> hook: $v="foo"
$v.upcase!
p $v #=> "FOO"
//}
@see Kernel.#untrace_var... -
Kernel
. # trace _ var(varname , hook) -> nil (6121.0) -
グローバル変数 varname への代入のフックを登録します。
...場合はRubyコードとして評価されます。
trace_var がフックするのは明示的な代入だけです。
フックは複数登録できます。
フックを解除するには、hook に nil を
指定するか、Kernel.#untrace_var を用います。
hook が nil ならば、設......か Symbol で指定します。
@param hook フックになる文字列または Proc オブジェクトです。
@return フックを登録した場合は nil を返します。解除した場合は解除した
フックを並べた配列を返します。
//emlist[例][ruby]{
trace_var(:......$v){|val| puts "hook: $v=#{val.inspect}" }
$v = 1 #=> hook: $v=1
$v = "foo" #=> hook: $v="foo"
$v.upcase!
p $v #=> "FOO"
//}
@see Kernel.#untrace_var... -
TracePoint
. new(*events) {|obj| . . . } -> TracePoint (3136.0) -
新しい TracePoint オブジェクトを作成して返します。トレースを有効 にするには TracePoint#enable を実行してください。
...新しい TracePoint オブジェクトを作成して返します。トレースを有効
にするには TracePoint#enable を実行してください。
//emlist[例:irb で実行した場合][ruby]{
trace = TracePoint.new(:call) do |tp|
p [tp.lineno, tp.defined_class, tp.method_id, tp.even......t]
end
# => #<TracePoint:0x007f17372cdb20>
trace.enable
# => false
puts "Hello, TracePoint!"
# ...
# [69, IRB::Notifier::AbstractNotifier, :printf, :call]
# ...
//}
トレースを無効にするには TracePoint#disable を実行してください。
//emlist[][ruby]{
trace.disable
//}
@param......events トレースするイベントを String か Symbol で任
意の数指定します。
: :line
式の評価。
: :class
クラス定義、特異クラス定義、モジュール定義への突入。
: :end
クラス定義、特異クラス定義、モジュール定... -
TracePoint
# callee _ id -> Symbol | nil (3129.0) -
イベントが発生したメソッドの呼ばれた名前を Symbol で返します。 トップレベルであった場合は nil を返します。
...前を Symbol で返します。
トップレベルであった場合は nil を返します。
@raise RuntimeError イベントフックの外側で実行した場合に発生します。
//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#method_id... -
TracePoint
# event -> Symbol (3129.0) -
発生したイベントの種類を Symbol で返します。
...種類を Symbol で返します。
発生するイベントの詳細については、TracePoint.new を参照してくださ
い。
@raise RuntimeError イベントフックの外側で実行した場合に発生します。
//emlist[例][ruby]{
def foo(ret)
ret
end
trace = TracePoint.new(:ca......ll, :return) do |tp|
p tp.event
end
trace.enable
foo 1
# => :call
# :return
//}...