るりまサーチ

最速Rubyリファレンスマニュアル検索!
945件ヒット [101-200件を表示] (0.034秒)
トップページ > クエリ:ruby[x] > クエリ:trace[x]

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

モジュール

検索結果

<< < 1 2 3 4 ... > >>

Kernel.#untrace_var(varname, hook = nil) -> [String|Proc] (6130.0)

グローバル変数 varname に関連付けられたフックを解除します。

...ます。

//emlist[例][ruby]{
trace
_var(:$v){|val| print "hookA.#{val.inspect},\n" }
block = proc{|val| print "hookB.#{val.inspect}," }
trace
_var(:$v,&block)
$v = 'str' #=> 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 (6127.0)

グローバル変数 varname への代入のフックを登録します。

...ます。文字列の場合はRubyコードとして評価されます。

trace
_var がフックするのは明示的な代入だけです。
フックは複数登録できます。

フックを解除するには、hook に nil を
指定するか、Kernel.#untrace_var を用います。

hook が...
...ます。解除した場合は解除した
フックを並べた配列を返します。

//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] (6127.0)

グローバル変数 varname への代入のフックを登録します。

...ます。文字列の場合はRubyコードとして評価されます。

trace
_var がフックするのは明示的な代入だけです。
フックは複数登録できます。

フックを解除するには、hook に nil を
指定するか、Kernel.#untrace_var を用います。

hook が...
...ます。解除した場合は解除した
フックを並べた配列を返します。

//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 (6127.0)

グローバル変数 varname への代入のフックを登録します。

...ます。文字列の場合はRubyコードとして評価されます。

trace
_var がフックするのは明示的な代入だけです。
フックは複数登録できます。

フックを解除するには、hook に nil を
指定するか、Kernel.#untrace_var を用います。

hook が...
...ます。解除した場合は解除した
フックを並べた配列を返します。

//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...

ObjectSpace.#trace_object_allocations { ... } (6113.0)

与えられたブロック内でオブジェクトのトレースを行います。 

...のトレースを行います。 

//emlist[例][ruby]{
require 'objspace'

class C
include ObjectSpace

def foo
trace
_object_allocations do
obj = Object.new
p "#{allocation_sourcefile(obj)}:#{allocation_sourceline(obj)}"
end
end
end

C.new.foo #=> "objtrace.rb:8"
//}...

絞り込み条件を変える

Exception#backtrace -> [String] (6106.0)

バックトレース情報を返します。

...)
* "#{sourcefile}:#{sourceline}"
(トップレベルの場合)

という形式の String の配列です。

//emlist[例][ruby]{
def methd
raise
end

begin
methd
rescue => e
p e.backtrace
end

#=> ["filename.rb:2:in `methd'", "filename.rb:6"]
//}

@see Exception#backtrace_locations...

Exception#set_backtrace(errinfo) -> nil | String | [String] (6106.0)

バックトレース情報に errinfo を設定し、設定されたバックトレース 情報を返します。

...指定します。

//emlist[例][ruby]{
begin
begin
raise "inner"
rescue
raise "outer"
end
rescue
$!.backtrace # => ["/path/to/test.rb:5:in `rescue in <main>'", "/path/to/test.rb:2:in `<main>'"]
$!.set_backtrace(["dummy1", "dummy2"])
$!.backtrace # => ["dummy1", "dummy2"]
end
//...

Thread#backtrace -> [String] | nil (6106.0)

スレッドの現在のバックトレースを返します。

...ruby]{
class C1
def m1
sleep 5
end
def m2
m1
end
end

th = Thread.new {C1.new.m2; Thread.stop}
th.backtrace
# => [
# [0] "(irb):3:in `sleep'",
# [1] "(irb):3:in `m1'",
# [2] "(irb):6:in `m2'",
# [3] "(irb):10:in `block in irb_binding'"
# ]

th.kill
th.backtrace...

TracePoint (6058.0)

Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で 提供するクラスです。

...t_trace_func と同様の機能をオブジェクト指向的な API で
提供するクラスです。

//emlist[例:例外に関する情報を収集する][ruby]{
trace
= TracePoint.new(:raise) do |tp|
p [tp.lineno, tp.event, tp.raised_exception]
end
# => #<TracePoint:0x007f786a452448>

trace
.e...
...r: divided by 0>]
//}

Trace
Point.new または、TracePoint.trace で指定したブロック
は、メソッドの引数(上記の例では :raise)に対応するイベントが発生した時に
呼び出されます。

発生するイベントの詳細については、TracePoint.new を参照...
...* Ruby VM アドベントカレンダー #12 TracePoint の紹介 (1): https://www.atdot.net/~ko1/diary/201212.html#d12
* Ruby VM アドベントカレンダー #13 TracePoint の紹介 (2): https://www.atdot.net/~ko1/diary/201212.html#d13
* Ruby VM アドベントカレンダー #14 TracePoint...
<< < 1 2 3 4 ... > >>