Top Level Namespace

Includes:
Trace

Defined Under Namespace

Modules: Trace

Constant Summary

Constants included from Trace

Trace::ALL_EVENT_MASKS, Trace::BRKPT_EVENT_MASK, Trace::CALL_EVENT_MASK, Trace::CLASS_EVENT_MASK, Trace::COVERAGE_EVENT_MASK, Trace::C_CALL_EVENT_MASK, Trace::C_RETURN_EVENT_MASK, Trace::DEFAULT_EVENT_MASK, Trace::END_EVENT_MASK, Trace::EVENT2MASK, Trace::EVENTS, Trace::INSN_EVENT_MASK, Trace::LEAVE_EVENT_MASK, Trace::LINE_EVENT_MASK, Trace::NO_EVENT_MASK, Trace::RAISE_EVENT_MASK, Trace::RETURN_EVENT_MASK, Trace::SEND_EVENT_MASK, Trace::SWITCH_EVENT_MASK, Trace::VM_EVENT_MASK, Trace::YIELD_EVENT_MASK

Instance Method Summary collapse

Methods included from Trace

add_trace_func, bitmask2events, convert_event_mask, event_masks, event_masks=, events2bitmask, set_trace_func

Instance Method Details

#dump_allObject



147
148
149
150
151
152
# File 'lib/eventbuffer.rb', line 147

def dump_all
  puts '-' * 40
  @eventbuf.each do |e| 
    puts @eventbuf.format_entry(e) if e
  end
end

#event_processor(event, frame, arg = nil) ⇒ Object



140
141
142
143
144
145
146
# File 'lib/eventbuffer.rb', line 140

def event_processor(event, frame, arg=nil)
  begin 
    @eventbuf.append(event, frame, arg)
  rescue
    p $!
  end
end

#fooObject

:nodoc:



197
198
# File 'lib/trace_mod.rb', line 197

def foo # :nodoc:
end

#my_hook(event, tf, arg = nil) ⇒ Object

:nodoc:



179
180
181
182
183
# File 'lib/tracefilter.rb', line 179

def my_hook(event, tf, arg=nil) # :nodoc:
  puts "#{event} #{tf.source_container[1]} #{tf.source_location[0]}"
  @events << event
  @line_nos << ((tf.source_location) ? tf.source_location[0] : '?')
end

:nodoc:



205
206
207
208
209
# File 'lib/tracefilter.rb', line 205

def print_trace # :nodoc:
  @line_nos.each_with_index do |line_no, i|
    print "%2d %s %s\n" % [i, @events[i], line_no]
  end
end

#setupObject

:nodoc:



199
200
201
202
203
# File 'lib/tracefilter.rb', line 199

def setup # :nodoc:
  @events   = []
  @line_nos = []
  @trace_filter.clear
end

#square(x) ⇒ Object

:nodoc:



173
174
175
176
177
# File 'lib/tracefilter.rb', line 173

def square(x) # :nodoc:
  y = x * x
  puts "the square of #{x} is #{y}\n"
  y
end

#trace_test(dont_trace_me) ⇒ Object

:nodoc:



185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/tracefilter.rb', line 185

def trace_test(dont_trace_me) # :nodoc:
  @start_line = __LINE__
  @trace_filter << self.method(:trace_test) if dont_trace_me
  p @trace_filter.member?(self.method(:trace_test))

  # Start tracing.
  event_mask = DEFAULT_EVENT_MASK # & ~(C_RETURN_EVENT_MASK | RETURN_EVENT_MASK)
  @trace_filter.set_trace_func(method(:my_hook).to_proc, event_mask)
  square(10)
  x = 100
  square(x)
  @end_line = __LINE__
end