From: "andhapp (Anuj Dutta)" Date: 2014-01-03T19:58:53+09:00 Subject: [ruby-core:59517] [ruby-trunk - Bug #9357][Open] TracePoint's c_return traces return from call to 'trace' Issue #9357 has been reported by andhapp (Anuj Dutta). ---------------------------------------- Bug #9357: TracePoint's c_return traces return from call to 'trace' https://bugs.ruby-lang.org/issues/9357 Author: andhapp (Anuj Dutta) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: 2.1.0 Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN =begin Hello, In TracePoint, trace on 'c_call' doesn't trace the call made to 'trace' method, where as trace on 'c_return' does, is this expected behaviour? Here's the code I used to reproduce it: === Code (c_return) class Car def self.start print "Started..." end end TracePoint.trace(:c_return) do |tp| puts "'#{tp.event}' event occurred in #{tp.defined_class}##{tp.method_id}" end Car.start === Env Ruby 2.1.0 === Actual output 'c_return' event occurred in ##trace Started...'c_return' event occurred in IO#write 'c_return' event occurred in Kernel#print === Expected output Started...'c_return' event occurred in IO#write 'c_return' event occurred in Kernel#print === Code on eval.in Here's the link to code on eval.in: https://eval.in/85264 Thanks. -- http://bugs.ruby-lang.org/