GoGPT Best VPN GoSearch

OnWorks فافيكون

perldtrace - عبر الإنترنت في السحابة

قم بتشغيل perldtrace في مزود الاستضافة المجاني من OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر perldtrace الذي يمكن تشغيله في مزود الاستضافة المجانية OnWorks باستخدام إحدى محطات العمل المجانية المتعددة على الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


perldtrace - دعم Perl لـ DTrace

موجز


# dtrace -Zn 'perl :: sub-entry، perl :: sub-return {trace (copyinstr (arg0))}'
dtrace: الوصف 'perl :: sub-entry، perl :: sub-return' يطابق 10 تحقيقات

# perl -E 'sub external {inner (_)} sub داخلي {say shift} خارجي ("hello")'
مرحبا

(إخراج dtrace)
وظيفة معرف وحدة المعالجة المركزية: الاسم
0 75915 Perl_pp_entersub: إدخال فرعي BEGIN
0 75915 Perl_pp_entersub: استيراد إدخال فرعي
0 75922 Perl_pp_leavesub: استيراد عودة فرعية
0 75922 Perl_pp_leavesub: عودة فرعية BEGIN
0 75915 Perl_pp_entersub: إدخال فرعي خارجي
0 75915 Perl_pp_entersub: إدخال فرعي داخلي
0 75922 Perl_pp_leavesub: عودة فرعية داخلية
0 75922 Perl_pp_leavesub: عودة فرعية خارجية

الوصف


DTrace هو إطار عمل لتعقب شامل على مستوى النظام والتطبيق. بيرل هو أ
DTrace مزود، مما يعني أنه يفضح عدة المجسات للأجهزة. يمكنك استخدام هذه
جنبًا إلى جنب مع تحقيقات على مستوى kernel ، بالإضافة إلى تحقيقات من مزودين آخرين مثل
MySQL ، من أجل تشخيص عيوب البرامج ، أو حتى مجرد اختناقات تطبيقك.

يجب تجميع لغة Perl باستخدام الخيار "-Dusedtrace" من أجل الاستفادة من المتوفر
المجسات. بينما تهدف DTrace إلى عدم وجود حمل إضافي عندما لا تكون أجهزتها نشطة ،
لا يمكن لدعم Perl نفسه أن يدعم هذا الضمان ، لذا فهو مبني بدون تحقيقات DTrace
تحت معظم الأنظمة. أحد الاستثناءات الملحوظة هو أن نظام التشغيل Mac OS X يشحن ملف / البيرة / بن / بيرل مع
تم تمكين دعم DTrace.

التاريخ


5.10.1
تمت إضافة دعم DTrace الأولي لـ Perl ، مما يوفر "إدخال فرعي" و "عودة فرعية"
المجسات.

5.14.0
يكتسب التحقيقان "الإدخال الفرعي" و "العائد الفرعي" وسيطة رابعة: اسم الحزمة
الوظيفة.

5.16.0
تمت إضافة مسبار "تغيير الطور".

5.18.0
تمت إضافة تحقيقات "إدخال المرجع" و "ملف التحميل" و "الملف المحمل".

المجسات


إدخال فرعي (اسم ، ملف ، خط ، حزمة)
يتتبع دخول أي روتين فرعي. لاحظ أن جميع المتغيرات تشير إلى
روتين فرعي يتم استدعاؤه ؛ لا توجد طريقة حاليًا للحصول على موافقة من أي منها
معلومات حول الروتين الفرعي المتصل من إجراء DTrace.

: * perl * :: sub-entry {
printf (تم إدخال "٪ s ::٪ s عند٪ s سطر٪ d \ n"،
copyinstr (arg3) و copyinstr (arg0) و copyinstr (arg1) و arg2) ؛
}

عودة فرعية (اسم ، ملف ، خط ، حزمة)
يتتبع خروج أي روتين فرعي. لاحظ أن جميع المتغيرات تشير إلى
روتين فرعي يعود ؛ لا توجد طريقة حاليًا للحصول على موافقة من أي منها
معلومات حول الروتين الفرعي المتصل من إجراء DTrace.

: * perl * :: sub-return {
printf ("٪ s ::٪ s تم إرجاعها عند٪ s سطر٪ d \ n"،
copyinstr (arg3) و copyinstr (arg0) و copyinstr (arg1) و arg2) ؛
}

تغيير المرحلة (NEWPHASE ، OLDPHASE)
يتتبع التغييرات في حالة مترجم Perl. يمكنك استيعاب هذا على أنه تتبع
التغييرات على متغير Perl "$ {^ GLOBAL_PHASE}" ، خاصة منذ قيم
"NEWPHASE" و "OLDPHASE" هما السلاسل التي يبلغ عنها "$ {^ GLOBAL_PHASE}".

: * perl * :: phase-change {
printf ("تم تغيير المرحلة من٪ s إلى٪ s \ n"،
copyinstr (arg1) ، copyinstr (arg0)) ؛
}

إدخال المرجع (OPNAME)
يتتبع تنفيذ كل كود تشغيل في Perl runloop. تم إطلاق هذا المسبار من قبل
يتم تنفيذ كود التشغيل. عندما يتم تمكين مصحح أخطاء Perl ، يتم تشغيل مسبار DTrace
بعد خطافات مصحح الأخطاء (ولكن لا يزال قبل تنفيذ كود التشغيل نفسه).

: * perl * :: op-entry {
printf ("على وشك تنفيذ كود التشغيل٪ s \ n" ، copyinstr (arg0)) ؛
}

تحميل ملف (FILENAME)
الحرائق عندما تكون Perl على وشك تحميل ملف فردي ، سواء كان ذلك من "use" أو "demand" أو
"يفعل". يتم تشغيل هذا المسبار قبل قراءة الملف من القرص. وسيطة اسم الملف هي
تم تحويلها إلى مسارات نظام ملفات محلية بدلاً من توفير أسماء نمط "Module :: Name".

: * perl *: loading-file {
printf ("على وشك تحميل٪ s \ n" ، copyinstr (arg0)) ؛
}

تحميل ملف (FILENAME)
الحرائق عندما ينجح Perl في تحميل ملف فردي ، سواء كان ذلك من "الاستخدام" ،
"تتطلب" أو "تفعل". يتم تشغيل هذا المسبار بعد قراءة الملف من القرص ومحتوياته
مقيمة. يتم تحويل وسيطة اسم الملف إلى مسارات نظام ملفات محلية بدلاً من
توفير أسماء نمط "الوحدة النمطية :: الاسم".

: * perl *: تحميل ملف {
printf ("تم تحميل٪ s بنجاح \ n" ، copyinstr (arg0)) ؛
}

أمثلة


في أغلب الأحيان تسمى الوظائف
# dtrace -qZn 'إدخال فرعي {@ [strjoin (strjoin (copyinstr (arg3)، "::")، copyinstr (arg0))] = count ()} END {trunc (@، 10)}'

الفئة :: MOP :: Attribute :: slots 400
جرب :: Tiny :: catch 411
جرب :: Tiny :: جرب 411
الفئة :: MOP :: Instance :: inline_slot_access 451
فئة :: MOP :: فئة :: ثابت :: سمة ::: حوالي 472
الفئة :: MOP :: Mixin :: AttributeCore :: has_initializer 496
الفئة :: MOP :: الطريقة :: ملفوفة :: __ ANON__ 544
الفئة :: MOP :: Package :: _ package_stash 737
فئة :: MOP :: Class :: تهيئة 1128
فئة :: MOP :: get_metaclass_by_name 1204

تتبع المكالمات وظيفة
# dtrace -qFZn 'إدخال فرعي ، إرجاع فرعي {trace (copyinstr (arg0))}'

0 -> Perl_pp_entersub ابدأ
0 <- Perl_pp_leavesub البداية
0 -> Perl_pp_entersub ابدأ
0 -> استيراد Perl_pp_entersub
0 <- استيراد Perl_pp_leavesub
0 <- Perl_pp_leavesub البداية
0 -> Perl_pp_entersub ابدأ
0 -> فستان Perl_pp_entersub
0 <- فستان Perl_pp_leavesub
0 -> Perl_pp_entersub قذرة
0 <- Perl_pp_leavesub قذرة
0 -> Perl_pp_entersub تبييض
0 <- تبييض Perl_pp_leavesub
0 <- Perl_dounwind BEGIN

مكالمات الوظيفة أثناء تنظيف المترجم الفوري
# dtrace -Zn 'phase-change / copyinstr (arg0) == "END" / {self-> end = 1} إدخال فرعي / self-> end / {trace (copyinstr (arg0))}'

وظيفة معرف وحدة المعالجة المركزية: الاسم
1 Perl_pp_entersub: إدخال فرعي END
1 Perl_pp_entersub: إدخال فرعي END
1 Perl_pp_entersub: تنظيف المدخلات الفرعية
1 Perl_pp_entersub: إدخال فرعي _force_writable
1 Perl_pp_entersub: إدخال فرعي _force_writable

مكالمات النظام في وقت الترجمة
# dtrace -qZn 'phase-change / copyinstr (arg0) == "START" / {self-> ممتعة = 1} phase-change / copyinstr (arg0) == "RUN" / {self-> ممتعة = 0} syscall ::: / self-> ممتعة / {@ [probefunc] = count ()} END {trunc (@، 3)} '

310
اقرأ 374
ستات64 1056

وظائف Perl التي تنفذ معظم أكواد التشغيل
# dtrace -qZn 'إدخال فرعي {self-> fqn = strjoin (copyinstr (arg3)، strjoin ("::"، copyinstr (arg0)))} op-entry / self-> fqn! = "" / {@ [self-> fqn] = count ()} END {trunc (@، 3)} '

تحذيرات :: unimport 4589
المصدر :: ثقيل :: _ إعادة بناء_ذاكرة التخزين المؤقت 5039
المصدر :: استيراد 14578

المراجع


دليل التتبع الديناميكي DTrace
<http://dtrace.org/guide/preface.html>

DTrace: التتبع الديناميكي في Oracle Solaris و Mac OS X و FreeBSD
<http://www.amazon.com/DTrace-Dynamic-Tracing-Solaris-FreeBSD/dp/0132091518/>

استخدم perldtrace عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad




×
الإعلانات
❤️تسوق أو احجز أو اشترِ هنا - بدون تكلفة، مما يساعد على إبقاء الخدمات مجانية.