Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > TracePointクラス
クラス・モジュールの継承リスト: TracePoint < Object < Kernel < BasicObject
Kernel.#set_trace_func と同様の機能をオブジェクト指向的な API で提供するクラスです。
trace = TracePoint.new(:raise) do |tp|
p [tp.lineno, tp.event, tp.raised_exception]
end
# => #<TracePoint:0x007f786a452448>
trace.enable
# => false
0 / 0
# => [5, :raise, #<ZeroDivisionError: divided by 0>]
TracePoint.new または、TracePoint.trace で指定したブロックは、メソッドの引数(上記の例では :raise)に対応するイベントが発生した時に呼び出されます。
発生するイベントの詳細については、TracePoint.new を参照してください。
定義 | 説明 | |
---|---|---|
new(*events) {|obj| ... } -> TracePoint
|
新しい TracePoint オブジェクトを作成して返します。トレースを有効にするには TracePoint#enable を実行してください。 |
|
stat -> object
|
TracePoint の内部情報を返します。 |
|
trace(*events) {|obj| ... } -> TracePoint
|
新しい TracePoint オブジェクトを作成して自動的にトレースを開始します。TracePoint.new のコンビニエンスメソッドです。 |
定義 | 説明 | |
---|---|---|
binding -> Binding
|
発生したイベントによって生成された Binding オブジェクトを返します。 |
|
callee_id -> Symbol | nil
|
イベントが発生したメソッドの呼ばれた名前を Symbol で返します。トップレベルであった場合は nil を返します。 |
|
defined_class -> Class | module
|
メソッドを定義したクラスかモジュールを返します。 |
|
disable -> bool
|
self のトレースを無効にします。 |
|
enable -> bool
|
self のトレースを有効にします。 |
|
enabled? -> bool
|
self のトレースが有効な場合に true を、そうでない場合に false を返します。 |
|
eval_script -> String | nil
|
script_compiledイベント発生時にコンパイルされたソースコードを返します。ファイルから読み込んだ場合は、nilを返します。 |
|
event -> Symbol
|
発生したイベントの種類を Symbol で返します。 |
|
inspect -> String
|
self の状態を人間に読みやすい文字列にして返します。 |
|
instruction_sequence -> RubyVM::InstructionSequence
|
script_compiledイベント発生時にコンパイルされた RubyVM::InstructionSequenceインスタンスを返します。 |
|
lineno -> Integer
|
発生したイベントの行番号を返します。 |
|
method_id -> Symbol | nil
|
イベントが発生したメソッドの定義時の名前を Symbol で返します。トップレベルであった場合は nil を返します。 |
|
parameters -> [object]
|
現在のフックが属するメソッドまたはブロックのパラメータ定義を返します。フォーマットは Method#parameters と同じです。 |
|
path -> String
|
イベントが発生したファイルのパスを返します。 |
|
raised_exception -> Exception
|
発生した例外を返します。 |
|
return_value -> object
|
メソッドやブロックの戻り値を返します。 |
|
self -> object
|
イベントを発生させたオブジェクトを返します。 |
!
!=
__id__
__send__
instance_eval
instance_exec
method_missing
singleton_method_added
singleton_method_removed
singleton_method_undefined
!~
<=>
==
===
=~
_dump
class
clone
define_singleton_method
display
enum_for
eql?
equal?
extend
freeze
frozen?
hash
initialize
initialize_copy
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
itself
marshal_dump
marshal_load
method
methods
nil?
object_id
pretty_inspect
pretty_print
pretty_print_cycle
pretty_print_inspect
pretty_print_instance_variables
private_methods
protected_methods
psych_to_yaml
public_method
public_methods
public_send
remove_instance_variable
respond_to?
respond_to_missing?
send
singleton_class
singleton_method
singleton_methods
taint
tainted?
tap
then
to_a
to_ary
to_hash
to_int
to_io
to_proc
to_regexp
to_s
to_str
trust
untaint
untrust
untrusted?
.yaml_tag
::ARGF
::ARGV
::DATA
::ENV
::FALSE
::NIL
::RUBY_COPYRIGHT
::RUBY_DESCRIPTION
::RUBY_ENGINE
::RUBY_ENGINE_VERSION
::RUBY_PATCHLEVEL
::RUBY_PLATFORM
::RUBY_RELEASE_DATE
::RUBY_REVISION
::RUBY_VERSION
::SCRIPT_LINES__
::STDERR
::STDIN
::STDOUT
::TOPLEVEL_BINDING
::TRUE