التابع set_trace_func
الخاص بالصنف Kernel
في روبي
يجعل التابع set_trace_func
المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي nil
.
ملاحظة: أصبح هذا التابع مهملًا، لذا يُرجى استخدام التابع TracePoint
بدلاً منه.
يقبل proc
ستة معاملات هي:
- اسم حدث
- اسم ملف
- رقم سطر
- معرف كائن (object id)
- كائن ربط (binding)
- اسم صنف
يستدعى proc
كلما وقع حدث. الأحداث هي:
الحدث | الوصف |
---|---|
c-call
|
استدعاء برنامج فرعي في لغة C. |
c-return
|
العودة من برنامج فرعي في لغة C. |
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
كائن من النوع Proc
يمثل المتعقب المعطى.
القيمة المعادة
يعاد كائن من النوع Proc
أو تعاد القيمة nil
.
انظر أيضا
- صفحة الصنف
TracePoint
.