Bug #15484 ยป tracepoint-docs.patch
prelude.rb | ||
---|---|---|
end
|
||
class TracePoint
|
||
# call-seq:
|
||
# trace.enable(target: nil, target_line: nil) -> true or false
|
||
# trace.enable(target: nil, target_line: nil) { block } -> obj
|
||
#
|
||
# Activates the trace
|
||
#
|
||
# Return +true+ if trace was enabled.
|
||
# Return +false+ if trace was disabled.
|
||
#
|
||
# trace.enabled? #=> false
|
||
# trace.enable #=> false (previous state)
|
||
# # trace is enabled
|
||
# trace.enabled? #=> true
|
||
# trace.enable #=> true (previous state)
|
||
# # trace is still enabled
|
||
#
|
||
# If a block is given, the trace will only be enabled within the scope of the
|
||
# block.
|
||
#
|
||
# trace.enabled?
|
||
# #=> false
|
||
#
|
||
# trace.enable do
|
||
# trace.enabled?
|
||
# # only enabled for this block
|
||
# end
|
||
#
|
||
# trace.enabled?
|
||
# #=> false
|
||
#
|
||
# <i>target</i> and <i>target_line</i> parameters are used to limit tracing
|
||
# only to specified code objects. <i>target</i> should be a code object for
|
||
# which RubyVM::InstructionSequence.of will return instruction sequence.
|
||
#
|
||
# t = TracePoint.new(:line) { |tp| p tp }
|
||
#
|
||
# def m1
|
||
# p 1
|
||
# end
|
||
#
|
||
# def m2
|
||
# p 2
|
||
# end
|
||
#
|
||
# t.enable(target: method(:m1))
|
||
#
|
||
# m1
|
||
# # prints #<TracePoint:line@test.rb:5 in `m1'>
|
||
# m2
|
||
# # prints nothing
|
||
#
|
||
#
|
||
# Note: You cannot access event hooks within the +enable+ block.
|
||
#
|
||
# trace.enable { p tp.lineno }
|
||
# #=> RuntimeError: access from outside
|
||
#
|
||
def enable target: nil, target_line: nil, &blk
|
||
self.__enable target, target_line, &blk
|
||
end
|
vm_trace.c | ||
---|---|---|
}
|
||
/*
|
||
* Return the parameters of the method or block that the current hook belongs to
|
||
* Return the parameters definition of the method or block that the
|
||
* current hook belongs to. Format is the same as for Method#parameters
|
||
*/
|
||
static VALUE
|
||
tracepoint_attr_parameters(VALUE tpval)
|
||
... | ... | |
list->events = events;
|
||
}
|
||
/*
|
||
* call-seq:
|
||
* trace.enable -> true or false
|
||
* trace.enable { block } -> obj
|
||
*
|
||
* Activates the trace
|
||
*
|
||
* Return true if trace was enabled.
|
||
* Return false if trace was disabled.
|
||
*
|
||
* trace.enabled? #=> false
|
||
* trace.enable #=> false (previous state)
|
||
* # trace is enabled
|
||
* trace.enabled? #=> true
|
||
* trace.enable #=> true (previous state)
|
||
* # trace is still enabled
|
||
*
|
||
* If a block is given, the trace will only be enabled within the scope of the
|
||
* block.
|
||
*
|
||
* trace.enabled?
|
||
* #=> false
|
||
*
|
||
* trace.enable do
|
||
* trace.enabled?
|
||
* # only enabled for this block
|
||
* end
|
||
*
|
||
* trace.enabled?
|
||
* #=> false
|
||
*
|
||
* Note: You cannot access event hooks within the block.
|
||
*
|
||
* trace.enable { p tp.lineno }
|
||
* #=> RuntimeError: access from outside
|
||
*
|
||
/* :nodoc:
|
||
* Docs for the TracePointe#enable are in prelude.rb
|
||
*/
|
||
static VALUE
|
||
tracepoint_enable_m(VALUE tpval, VALUE target, VALUE target_line)
|
||
... | ... | |
* +:thread_begin+:: event hook at thread beginning
|
||
* +:thread_end+:: event hook at thread ending
|
||
* +:fiber_switch+:: event hook at fiber switch
|
||
* +:script_compiled+:: new Ruby code compiled (with +eval+, +load+ or +require+)
|
||
*
|
||
*/
|
||
rb_cTracePoint = rb_define_class("TracePoint", rb_cObject);
|