DTrace هو إطار عمل ديناميكي للتتبع يسمح للمسؤول أو المطور بإلقاء نظرة في الوقت الفعلي على النظام سواء في وضع المستخدم أو وضع kernel. يحتوي DTrace على لغة برمجة قوية وعالية المستوى على طراز C تسمح لك بإدراج نقاط التتبع ديناميكيًا. باستخدام نقاط التتبع المُدرجة ديناميكيًا، يمكنك تصفية الشروط أو الأخطاء، وكتابة التعليمات البرمجية لتحليل أنماط القفل، واكتشاف حالات التوقف التام، وما إلى ذلك.
في نظام التشغيل Windows، يقوم DTrace بتوسيع تتبع الأحداث لنظام التشغيل Windows (ETW) وهو ثابت ولا يوفر القدرة على إدراج نقاط التتبع برمجيًا في وقت التشغيل.
كافة واجهات برمجة التطبيقات والوظائف التي يستخدمها dtrace.sys هي مكالمات موثقة.
قامت Microsoft بتطبيق برنامج تشغيل خاص لنظام التشغيل Windows 10 يسمح بتنفيذ عدد من أدوار مراقبة النظام. سيتم تضمين برنامج التشغيل مع الإصدار 1903 من نظام التشغيل Windows 10. كما يتطلب DTrace حاليًا بدء تشغيل Windows مع تمكين مصحح أخطاء kernel.
الكود المصدري لأداة DTrace المنقولة متاح على GitHub. قم بزيارة الصفحة DTrace على نظام التشغيل Windowsضمن مشروع OpenDTrace على GitHub لرؤيته.
محتويات يخفي إعداد DTrace في نظام التشغيل Windows 10 باستخدام ديترايسإعداد DTrace في نظام التشغيل Windows 10
المتطلبات الأساسية لاستخدام الميزة
- ويندوز 10 من الداخلبناء 18342أو أعلى
- متوفر فقط علىx64Windows ويلتقط معلومات التتبع فقط لعمليات 64 بت برنامج Windows Insider هوممكنوتم تكوينهمع حساب Windows Insider صالح
- تفضل بزيارة الإعدادات->التحديث والأمان->برنامج Windows Insider للحصول على التفاصيل
تعليمات:
- مجموعة تكوين BCD:
- bcdedit / تعيين dtrace على
- لاحظ أنك تحتاج إلى تعيين خيار bcdedit مرة أخرى، إذا قمت بالترقية إلى إصدار Insider جديد
- يؤدي هذا إلى تثبيت مكونات وضع المستخدم وبرامج التشغيل والميزات الإضافية حسب حزم الطلب الضرورية لكي يعمل DTrace.
- اختياري: تحديثمتغير البيئة PATHلكي يتضمنC:ملفات البرنامجDTrace
- اضبط PATH=%PATH%;'C:Program FilesDTrace'
- يثبتمسار الرمز
- قم بإنشاء دليل جديد للتخزين المؤقت للرموز محليًا. مثال: مكدير ج:الرموز
- تعيين_NT_SYMBOL_PATH=srv*C:الرموز* http://msdl.microsoft.com/download/symbols
- يقوم DTrace تلقائيًا بتنزيل الرموز الضرورية من خادم الرموز والتخزين المؤقت إلى المسار المحلي.
خياري:إعداد مصحح أخطاء Kernelالاتصال بالجهاز المستهدف ( رابط MSDN). هذا هوفقطمطلوب إذا كنت تريد تتبع أحداث Kernel باستخدام FBT أو موفري خدمات آخرين. - لاحظ أنك ستحتاج إلى تعطيل Secureboot وBitlocker على C:، (إذا تم تمكينهما)، إذا كنت تريد إعداد مصحح أخطاء kernel.
باستخدام ديترايس
- افتح موجه أوامر مرتفع.
- قم بتنفيذ أحد الأوامر التالية:|_+_|
الامرdtrace -lvn سيسكال:::سوف يسرد جميع المجسات والمعلمات الخاصة بها المتاحة من موفر syscall.
فيما يلي بعض الموفرين المتوفرين على نظام التشغيل Windows وما يستخدمونه من أدوات.
- syscall - استدعاءات نظام NTOS fbt (تتبع حدود الوظيفة) - إدخال وظيفة Kernel وreturnspid - تتبع عملية وضع المستخدم. مثل FBT في وضع kernel، ولكنه يسمح أيضًا باستخدام أدوات إزاحة الوظائف العشوائية.etw (تتبع الأحداث لنظام التشغيل Windows) – يسمح بتحديد التحقيقات لـ ETW يساعد هذا الموفر في الاستفادة من أدوات نظام التشغيل الموجودة في DTrace.
- هذه إحدى الإضافات التي قمنا بها إلى DTrace للسماح له بكشف كافة المعلومات التي يوفرها Windows بالفعل والحصول عليها S.T.W.
يمكن العثور على المزيد من نماذج البرامج النصية المطبقة على سيناريوهات Windows في هذا دليل العينات.
مصدر: مايكروسوفت