mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* eval.c, node.h, thread.c, yarvcore.[ch], eval_intern.h:
support set_trace_func (incomplete. id and klass don't be passed). And support Thread#set_trace_func which hook only specified thread and Thread#add_trace_func which add new trace func instead of replace old one. C level API was modified. See thread.c (logic) and yarvcore.h (data structures). * vm.c, vm_macro.def: add hook points. * compile.c, insns.def: fix "trace" instruction. * iseq.c, vm_macro.h: add compile option "trace_instruction". * test/ruby/test_settracefunc.rb: hook "c-return" of set_trace_func. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
2dd91facca
commit
a73894337a
15 changed files with 468 additions and 309 deletions
|
|
@ -35,6 +35,8 @@ class TestSetTraceFunc < Test::Unit::TestCase
|
|||
eval("class Foo; end")
|
||||
set_trace_func nil
|
||||
|
||||
assert_equal(["c-return", 18, :set_trace_func, TestSetTraceFunc],
|
||||
events.shift) # TODO
|
||||
assert_equal(["line", 19, :test_event, TestSetTraceFunc],
|
||||
events.shift) # a = 1
|
||||
assert_equal(["line", 20, :test_event, TestSetTraceFunc],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue