DTrace היא מסגרת מעקב דינמית המאפשרת למנהל או למפתח לקבל מבט בזמן אמת לתוך מערכת במצב משתמש או גרעין. ל- DTrace יש שפת תכנות ברמה גבוהה ועוצמתית בסגנון C המאפשרת לך להכניס באופן דינמי נקודות מעקב. באמצעות נקודות העקיבה המוכנסות באופן דינמי אלה, אתה יכול לסנן על תנאים או שגיאות, לכתוב קוד כדי לנתח דפוסי נעילה, לזהות מבוי סתום וכו'.
ב-Windows, DTrace מרחיב את מעקב אחר אירועים עבור Windows (ETW) שהוא סטטי ואינו מספק את היכולת להוסיף נקודות מעקב באופן פרוגרמטי בזמן ריצה.
כל ממשקי ה-API והפונקציונליות המשמשים את dtrace.sys הם קריאות מתועדות.
מיקרוסופט הטמיעה דרייבר מיוחד עבור Windows 10 המאפשר לבצע מספר תפקידי ניטור מערכת. מנהל ההתקן ייכלל ב-Windows 10 גרסה 1903. כמו כן, DTrace דורש כעת את הפעלת Windows עם ניפוי באגים ליבה מופעל.
קוד המקור של כלי DTrace המועבר זמין ב-GitHub. בקר בדף DTrace ב-Windowsתחת פרויקט OpenDTrace ב-GitHub כדי לראות אותו.
תוכן להתחבא הגדר DTrace ב-Windows 10 באמצעות DTraceהגדר DTrace ב-Windows 10
תנאים מוקדמים לשימוש בתכונה
- Windows 10 פנימילבנות 18342או גבוה יותר
- זמין רק בx64Windows ומצלם מידע מעקב רק עבור תהליכים של 64 סיביות תוכנית Windows Insider היאמופעלומוגדרעם חשבון Windows Insider חוקי
- בקר בהגדרות->עדכון ואבטחה->תוכנית Windows Insider לפרטים
הוראות:
- ערכת תצורת BCD:
- bcdedit /set dtrace on
- שימו לב, עליכם להגדיר שוב את אפשרות bcdedit, אם תשדרגו ל-Insider build חדש
- זה מתקין את רכיבי מצב המשתמש, מנהלי ההתקן וחבילות תכונות נוספות לפי דרישה הנחוצות ל-DTrace להיות פונקציונלי.
- אופציונלי: עדכן את המשתנה סביבה PATHלכלולC:Program FilesDTrace
- set PATH=%PATH%;'C:Program FilesDTrace'
- להכיןנתיב סמל
- צור ספרייה חדשה לשמירה מקומית של סמלים. דוגמה: mkdir c:symbols
- מַעֲרֶכֶת_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- DTrace מוריד אוטומטית את הסמלים הדרושים משרת הסמלים ומטמון לנתיב המקומי.
אופציונאלי:הגדר ניפוי באגים של ליבהחיבור למכונת היעד ( קישור MSDN). זהרקנדרש אם ברצונך לעקוב אחר אירועי ליבה באמצעות FBT או ספקים אחרים. - שימו לב שתצטרכו להשבית את Secureboot ואת Bitlocker ב-C:, (אם מופעל), אם ברצונכם להגדיר ניפוי באגים של ליבה.
באמצעות DTrace
- פתח שורת פקודה מוגבהת.
- בצע אחת מהפקודות הבאות:|_+_|
הפקודהdtrace -lvn syscall:::יפרט את כל הבדיקות והפרמטרים שלהן הזמינים מספק syscall.
להלן כמה מהספקים הזמינים ב-Windows ומה הם מכשירים.
- syscall – מערכת NTOS callsfbt (מעקב אחר גבול פונקציות) – הזנת פונקציית ליבה ו-returspid – מעקב אחר תהליך במצב משתמש. כמו FBT במצב ליבה, אבל גם מאפשר את המכשור של פונקציות שרירותיות offsets.etw (מעקב אחר אירועים עבור Windows) – מאפשר להגדיר בדיקות עבור ETW ספק זה עוזר למנף את המכשור הקיים של מערכת ההפעלה ב-DTrace.
- זוהי תוספת אחת שעשינו ל-DTrace כדי לאפשר לה לחשוף ולקבל את כל המידע ש-Windows כבר מספקת בו S.T.W.
ניתן למצוא סקריפטים נוספים לדוגמא הרלוונטיים לתרחישי Windows כאן ספריית דוגמאות.
מָקוֹר: מיקרוסופט