Windows Tips & News

DTrace זמין כעת ב-Windows

click fraud protection

עדכון התכונה הבא של Windows 10 (19H1, עדכון אפריל 2019, גרסה 1903) יכלול תמיכה ב-DTrace, כלי איתור באגים ואבחון בקוד פתוח הפופולרי. זה נבנה במקור עבור Solaris, והפך זמין עבור Linux, FreeBSD, NetBSD ו-macOS. מיקרוסופט העבירה אותו ל-Windows.

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

תנאים מוקדמים לשימוש בתכונה

  • Windows 10 פנימי לבנות 18342 או גבוה יותר
  • זמין רק ב x64 Windows ומצלם מידע מעקב רק עבור תהליכים של 64 סיביות
  • תוכנית Windows Insider הוא מופעל ו מוגדר עם חשבון Windows Insider חוקי.
    • בקר בהגדרות->עדכון ואבטחה->תוכנית Windows Insider לפרטים

הוראות:

  1. ערכת תצורת BCD:
    1. bcdedit /set dtrace on
    2. שימו לב, עליכם להגדיר שוב את אפשרות bcdedit, אם תשדרגו ל-Insider build חדש
  2. הורד והתקן את חבילת DTrace מ מרכז הורדות.
    1. זה מתקין את רכיבי מצב המשתמש, מנהלי התקנים וחבילות תכונות נוספות לפי דרישה הנחוצות ל-DTrace להיות פונקציונלי.
  3. אופציונלי: עדכן את ה משתנה סביבה PATH לכלול C:\Program Files\DTrace
    1. set PATH=%PATH%;"C:\Program Files\DTrace"
  4. להכין נתיב סמל
    1. צור ספרייה חדשה לשמירה מקומית של סמלים. דוגמה: mkdir c:\symbols
    2. מַעֲרֶכֶת _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
    3. DTrace מוריד אוטומטית את הסמלים הדרושים משרת הסמלים ומטמון לנתיב המקומי.
  5. אופציונאלי:הגדר ניפוי באגים של ליבה חיבור למכונת היעד (קישור MSDN). זה רק נדרש אם ברצונך להתחקות אחר אירועי ליבה באמצעות FBT או ספקים אחרים.
    1. שים לב שתצטרך להשבית את Secureboot ו-Bitlocker ב-C:, (אם מופעל), אם ברצונך להגדיר ניפוי באגים של ליבה.
  6. לְאַתחֵל מכונת מטרה

באמצעות DTrace

  1. פתח א שורת פקודה מוגבהת.
  2. בצע אחת מהפקודות הבאות:
    # סיכום Syscall לפי תוכנית למשך 5 שניות: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # סיכום טיימר הגדר/ביטול תוכנית עבור 3 seconds: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Dump System Process structure: (מחייב נתיב סמל אל להיות מוגדר) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # מעקב אחר נתיבים דרך NTFS בעת הפעלת notepad.exe (דורש KD a

הפקודה dtrace -lvn syscall יפרט את כל הבדיקות והפרמטרים שלהן הזמינים מספק syscall.

להלן כמה מהספקים הזמינים ב-Windows ומה הם מכשירים.

  • syscall – שיחות מערכת NTOS
  • fbt (מעקב אחר גבול פונקציות) - כניסה והחזרות של פונקציית ליבה
  • pid - מעקב אחר תהליך במצב משתמש. כמו FBT במצב ליבה, אבל גם מאפשר את המכשור של קיזוז פונקציות שרירותי.
  • etw (מעקב אחר אירועים עבור Windows) - מאפשר להגדיר בדיקות עבור ETW ספק זה עוזר למנף את המכשור הקיים של מערכת ההפעלה ב- DTrace.
    • זוהי תוספת אחת שעשינו ל- DTrace כדי לאפשר לה לחשוף ולקבל את כל המידע ש-Windows כבר מספקת בו ETW.

ניתן למצוא סקריפטים נוספים לדוגמא הרלוונטיים לתרחישי Windows כאן ספריית דוגמאות.

מָקוֹר: מיקרוסופט

ערכת נושא של חברים נוצות עבור Windows 8

אתר זה משתמש בקובצי Cookie כדי לשפר את החוויה שלך בזמן שאתה מנווט באתר. מתוך קובצי Cookie אלה, קו...

קרא עוד

Windows 10 לא מחבר מחדש כונני רשת ממופים [תיקון]

Windows 10 לא מחבר מחדש כונני רשת ממופים [תיקון]

אם יש לך רשת ביתית או עבודה שהוגדרה עבור PC Windows שלך, ייתכן שגם אתה מיפוי שיתופי רשת לאותיות כ...

קרא עוד

ערכת נושא Wilderness Pathways עבור Windows 8

אתר זה משתמש בקובצי Cookie כדי לשפר את החוויה שלך בזמן שאתה מנווט באתר. מתוך קובצי Cookie אלה, קו...

קרא עוד