るりまサーチ

最速Rubyリファレンスマニュアル検索!
66件ヒット [1-66件を表示] (0.173秒)
トップページ > クエリ:E[x] > クエリ:tracer[x] > クエリ:trace_func[x]

別のキーワード

  1. tracer on
  2. tracer add_filter
  3. tracer set_get_line_procs
  4. tracer stdout
  5. tracer off

ライブラリ

クラス

モジュール

キーワード

検索結果

tracer (44054.0)

実行トレース出力をとる機能を提供します。

...Kernel.#require する方法です。
hoge.rb の実行をすべてトレース出力します。

ruby -rtracer hoge.rb

もうひとつはソースからrequireする方法です。

require 'tracer'

とした後

Tracer
.on

によりトレース出力を有効にします。

Tracer
.off...
... Tracer.on を呼び出すと、そのブロック内のみ
トレースを出力します。

=== サンプルコード

# 例: 式の評価の中でHogeクラスのメソッドが呼び出される時、トレースする。

# ruby 1.8 では警告がでますが、動作します。
requir...
...class Hoge
def Hoge.fuga(i)
"fuga #{i}"
e
nd
e
nd

Tracer
.add_filter {|event, file, line, id, binding, klass|
e
vent =~ /line/ and klass.to_s =~ /hoge/i
}
Tracer
.on
for i in 0..3
puts Hoge.fuga(i) if i % 3 == 0
e
nd
Tracer
.off

=== SEE ALSO

Kernel.#set_trace_func...

Tracer#trace_func(event, file, line, id, binding, klass, *) -> object | nil (41201.0)

@todo

@todo

Tracer.trace_func(*vars) -> object | nil (33201.0)

debug ライブラリの内部で使用します。

...debug ライブラリの内部で使用します。...

Tracer.add_filter {|event, file, line, id, binding, klass| .... } (26118.0)

トレース出力するかどうかを決定するフィルタを追加します。 何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。 与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば トレースは出力されます。

...通常、true か falseを返す必要があります。

フィルタ手続きは引数として event, file, line, id, binding, klass の
6 つをとります。
Kernel.#set_trace_func で指定するものとほぼ同じです。

=== フィルタ手続きのパラメータ

: event
イベン...
...内は tracer の出力での表記。

//emlist{
* line (-) ある行を実行
* call (>) メソッド呼び出し
* return (<) メソッドからのリターン
* class (C) クラスコンテキストに入った
* end (E) クラスコンテキストから出た
* raise...
...例外が発生した
* c-call Cで記述されたメソッドが呼ばれた
* c-return Cで記述されたメソッドからreturn
//}

: file
現在処理しているファイルの名前

: line
現在処理している行番号

: id
最後に呼び出されたメソッドのメ...

Tracer.add_filter(proc) (26118.0)

トレース出力するかどうかを決定するフィルタを追加します。 何もフィルタを与えない場合はすべての行についてトレース情報が出力されます。 与えられた手続き(ブロックまたはProcオブジェクト)が真を返せば トレースは出力されます。

...通常、true か falseを返す必要があります。

フィルタ手続きは引数として event, file, line, id, binding, klass の
6 つをとります。
Kernel.#set_trace_func で指定するものとほぼ同じです。

=== フィルタ手続きのパラメータ

: event
イベン...
...内は tracer の出力での表記。

//emlist{
* line (-) ある行を実行
* call (>) メソッド呼び出し
* return (<) メソッドからのリターン
* class (C) クラスコンテキストに入った
* end (E) クラスコンテキストから出た
* raise...
...例外が発生した
* c-call Cで記述されたメソッドが呼ばれた
* c-return Cで記述されたメソッドからreturn
//}

: file
現在処理しているファイルの名前

: line
現在処理している行番号

: id
最後に呼び出されたメソッドのメ...

絞り込み条件を変える

Kernel.#set_trace_func(proc) -> Proc (12225.0)

Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。

...行します。

標準添付の debug、tracer
profile はこの組み込み関数を利用して実現されています。

=== ブロックパラメータの意味

渡す Proc オブジェクトのパラメータは
//emlist[][ruby]{
proc{|event, file, line, id, binding, klass| "..." }
//}...
...: event
実行のタイプを表す、以下のいずれかの文字列。
//emlist{
"line": 式の評価。
"call": メソッドの呼び出し。
"return": メソッド呼び出しからのリターン。
"c-call": Cで記述されたメソッドの呼び出し。
"c-ret...
...

@return proc を返します。

//emlist[例][ruby]{
set_trace_func lambda {|*arg|
p arg
}
class Foo
e
nd
43.to_s

# ----結果----
# ["c-return", "..", 1, :set_trace_func, #<Binding:0xf6ceb8>, Kernel]
# ["line", "..", 4, nil, #<Binding:0x10cbcd8>, nil]
# ["c-call", "..", 4, :inherited, #<Bin...