DTrace متاح الآن على Windows
سيتضمن تحديث ميزات Windows 10 التالي (19H1 ، تحديث أبريل 2019 ، الإصدار 1903) دعمًا لـ DTrace ، وهي أداة تشخيص وتصحيح الأخطاء مفتوحة المصدر الشهيرة. تم تصميمه في الأصل لـ Solaris ، وأصبح متاحًا لأنظمة Linux و FreeBSD و NetBSD و macOS. قامت Microsoft بنقلها إلى Windows.
الإعلانات
DTrace هو إطار عمل تتبع ديناميكي يسمح للمسؤول أو المطور بإلقاء نظرة في الوقت الفعلي على النظام إما في وضع المستخدم أو kernel. يحتوي DTrace على مستوى عالٍ ولغة برمجة قوية تسمح لك بإدراج نقاط التتبع ديناميكيًا. باستخدام نقاط التتبع المُدرجة ديناميكيًا ، يمكنك التصفية حسب الظروف أو الأخطاء ، وكتابة التعليمات البرمجية لتحليل أنماط القفل ، واكتشاف حالات الجمود ، إلخ.
في Windows ، يقوم DTrace بتوسيع تتبع الأحداث لنظام التشغيل Windows (ETW) وهو ثابت ولا يوفر القدرة على إدراج نقاط التتبع برمجيًا في وقت التشغيل.
جميع واجهات برمجة التطبيقات والوظائف المستخدمة بواسطة dtrace.sys هي مكالمات موثقة.
قامت Microsoft بتطبيق برنامج تشغيل خاص لنظام التشغيل Windows 10 يسمح بأداء عدد من أدوار مراقبة النظام. سيتم تضمين برنامج التشغيل في الإصدار 1903 من Windows 10. أيضًا ، يتطلب DTrace حاليًا بدء تشغيل Windows مع تمكين مصحح أخطاء kernel.
شفرة المصدر لأداة DTrace المنقولة متاحة على GitHub. قم بزيارة الصفحة "DTrace على نظام Windows"ضمن مشروع OpenDTrace على GitHub لمشاهدته.
قم بإعداد DTrace في نظام التشغيل Windows 10
المتطلبات الأساسية لاستخدام الميزة
- Windows 10 من الداخل بناء 18342 أو أعلى
- متاح فقط في إلى x64 Windows ويلتقط معلومات التتبع فقط لعمليات 64 بت
-
برنامج Windows Insider يكون ممكن و تم تكوينه مع حساب Windows Insider صالح
- قم بزيارة الإعدادات-> التحديث والأمان-> برنامج Windows Insider للحصول على التفاصيل
تعليمات:
-
مجموعة تكوين BCD:
- bcdedit / ضبط dtrace على
- ملاحظة ، تحتاج إلى تعيين خيار bcdedit مرة أخرى ، إذا قمت بالترقية إلى إصدار Insider جديد
-
تحميل وقم بتثبيت حزمة DTrace من مركز التحميل.
- يؤدي هذا إلى تثبيت مكونات وضع المستخدم وبرامج التشغيل والميزات الإضافية على حزم الطلب الضرورية لكي يعمل DTrace.
- اختياري: قم بتحديث ملف PATH متغير البيئة لكي يتضمن C: \ Program Files \ DTrace
- تعيين PATH =٪ PATH٪؛ "C: \ Program Files \ DTrace"
- اقامة مسار الرمز
- قم بإنشاء دليل جديد للتخزين المؤقت للرموز محليًا. مثال: mkdir c: \ codes
- يضع _NT_SYMBOL_PATH= srv * C: \ رموز *http://msdl.microsoft.com/download/symbols
- يقوم DTrace تلقائيًا بتنزيل الرموز الضرورية من خادم الرموز وذاكرة التخزين المؤقت إلى المسار المحلي.
-
اختياري:إعداد مصحح أخطاء Kernel الاتصال بالجهاز الهدف (ارتباط MSDN). هذا هو فقط مطلوب إذا كنت ترغب في تتبع أحداث Kernel باستخدام FBT أو موفرين آخرين.
- لاحظ أنك ستحتاج إلى تعطيل Secureboot و Bitlocker على C: ، (إذا تم تمكينه) ، إذا كنت تريد إعداد مصحح أخطاء kernel.
- اعادة التشغيل آلة الهدف
باستخدام DTrace
- افتح ملف موجه أوامر مرتفع.
- قم بتنفيذ أحد الأوامر التالية:
# ملخص Syscall حسب البرنامج لمدة 5 ثوانٍ: dtrace -Fn "tick-5sec {exit (0)؛} syscallentry {num [pid، execname] = count ()؛}" # تلخيص مجموعة المؤقت / إلغاء البرنامج لمدة 3 الثواني: dtrace -Fn "tick-3sec {exit (0)؛} syscall:: Nt * Timer *: entry {@ [probefunc، execname، pid] = count ()؛}" # Dump System Process kernel structure: (مطلوب مسار الرمز إلى يتم تعيين) dtrace -n "ابدأ {print (* (Struct nt`_EPROCESS *) nt`PsInitialSystemProcess)؛ exit (0)؛}" # تتبع المسارات من خلال NTFS عند تشغيل notepad.exe (يتطلب دينار كويتي a
الامر dtrace -lvn syscall سوف يسرد جميع المجسات ومعلماتها المتاحة من مزود syscall.
فيما يلي بعض الموفرين المتاحين على Windows والأدوات التي يقومون بها.
- syscall - مكالمات نظام NTOS
- fbt (تتبع حدود الوظيفة) - إدخال وإرجاع وظيفة Kernel
- pid - تتبع عملية وضع المستخدم. مثل وضع kernel-mode FBT ، ولكنه يسمح أيضًا بأدوات إزاحة الوظيفة التعسفية.
-
وآخرون (تتبع الأحداث لنظام التشغيل Windows) - يسمح بتعريف المجسات لـ ETW يساعد هذا الموفر على الاستفادة من أدوات نظام التشغيل الحالية في DTrace.
- هذه إحدى الإضافات التي قمنا بها لـ DTrace للسماح لها بكشف واكتساب جميع المعلومات التي يوفرها Windows بالفعل ETW.
يمكن العثور على المزيد من نماذج البرامج النصية المطبقة على سيناريوهات Windows في هذا دليل العينات.
مصدر: مايكروسوفت