التابع set_trace_func
الخاص بالصنف Kernel
في روبي
يجعل التابع set_trace_func
الوسيط المعطى proc
كمتعقب (handler for tracing)، أو يعطل التعقب إن كان الوسيط يساوي nil
.
ملاحظة: هذا التابع صار متجاوزًا، يُرجى استخدام TracePoint
بدلاً منه.
يقبل proc
ستة وسائط:
- اسم حدث
- اسم ملف
- رقم السطر
- معرف كائن (object id)
- كائن ربط (binding)
- اسم الصنف
يتم استدعاء proc
كلما وقع حدث.
الأحداث هي كالآتي:
c-call
|
استدعاء C-language routine |
c-return
|
العودة من C-language routine |
call
|
استدعاء تابع من توابع روبي |
class
|
بدء تعريف صنف أو وحدة |
end
|
إنهاء بدء تعريف صنف أو وحدة |
line
|
تنفيذ كود برمجي على سطر جديد |
raise
|
إطلاق استثناء |
return
|
العودة من توابع روبي. |
يتم تعطيل التعقب في سياق proc
.
class Test
def test
a = 1
b = 2
end
end
set_trace_func proc { |event, file, line, id, binding, classname|
printf "%8s %s:%-2d %10s %8s\n", event, file, line, id, classname
}
t = Test.new
t.test
line prog.rb:11 false
c-call prog.rb:11 new Class
c-call prog.rb:11 initialize Object
c-return prog.rb:11 initialize Object
c-return prog.rb:11 new Class
line prog.rb:12 false
call prog.rb:2 test Test
line prog.rb:3 test Test
line prog.rb:4 test Test
return prog.rb:4 test Test
البنية العامة
set_trace_func(proc) → proc
set_trace_func(nil) → nil
المعاملات
proc
يمثل المتعقب المعطى.
انظر أيضا
- صفحة الصنف
TracePoint
.