Το DTrace είναι ένα δυναμικό πλαίσιο ανίχνευσης που επιτρέπει σε έναν διαχειριστή ή προγραμματιστή να βλέπει ένα σύστημα σε πραγματικό χρόνο είτε σε λειτουργία χρήστη είτε σε λειτουργία πυρήνα. Το DTrace έχει μια υψηλού επιπέδου και ισχυρή γλώσσα προγραμματισμού σε στυλ C που σας επιτρέπει να εισάγετε δυναμικά σημεία ίχνους. Χρησιμοποιώντας αυτά τα δυναμικά εισαγόμενα σημεία ίχνους, μπορείτε να φιλτράρετε τις συνθήκες ή τα σφάλματα, να γράψετε κώδικα για να αναλύσετε μοτίβα κλειδώματος, να εντοπίσετε αδιέξοδα κ.λπ.
Στα Windows, το DTrace επεκτείνει την παρακολούθηση συμβάντων για Windows (ETW), η οποία είναι στατική και δεν παρέχει τη δυνατότητα εισαγωγής σημείων παρακολούθησης μέσω προγραμματισμού κατά τη διάρκεια εκτέλεσης.
Όλα τα API και οι λειτουργίες που χρησιμοποιούνται από το dtrace.sys είναι τεκμηριωμένες κλήσεις.
Η Microsoft έχει εφαρμόσει ένα ειδικό πρόγραμμα οδήγησης για τα Windows 10 που επιτρέπει την εκτέλεση ορισμένων ρόλων παρακολούθησης συστήματος. Το πρόγραμμα οδήγησης θα συμπεριληφθεί στην έκδοση 1903 των Windows 10. Επίσης, το DTrace απαιτεί επί του παρόντος την εκκίνηση των Windows με ενεργοποιημένο τον εντοπισμό σφαλμάτων πυρήνα.
Ο πηγαίος κώδικας για το μεταφερόμενο εργαλείο DTrace είναι διαθέσιμος στο GitHub. Επισκεφθείτε τη σελίδα DTrace στα Windowsκάτω από το έργο OpenDTrace στο GitHub για να το δείτε.
Περιεχόμενα κρύβω Ρύθμιση του DTrace στα Windows 10 Χρησιμοποιώντας το DTraceΡύθμιση του DTrace στα Windows 10
Προϋποθέσεις για τη χρήση της δυνατότητας
- Windows 10 insiderκατασκευή 18342ή υψηλότερη
- Διατίθεται μόνο σεx64Windows και καταγράφει πληροφορίες ανίχνευσης μόνο για διαδικασίες 64-bit Το πρόγραμμα Windows Insider είναιενεργοποιημένηκαιδιαμορφώθηκεμε έγκυρο λογαριασμό Windows Insider
- Επισκεφτείτε τις Ρυθμίσεις->Ενημέρωση και ασφάλεια->Πρόγραμμα Windows Insider για λεπτομέρειες
Οδηγίες:
- Σύνολο διαμόρφωσης BCD:
- bcdedit /set dtrace on
- Σημείωση, θα πρέπει να ορίσετε ξανά την επιλογή bcdedit, εάν κάνετε αναβάθμιση σε νέα έκδοση Insider
- Αυτό εγκαθιστά τα στοιχεία λειτουργίας χρήστη, τα προγράμματα οδήγησης και τα πρόσθετα πακέτα δυνατοτήτων κατ' απαίτηση που είναι απαραίτητα για να είναι λειτουργικό το DTrace.
- Προαιρετικά: Ενημερώστε τοΜεταβλητή περιβάλλοντος PATHνα συμπεριλάβειC:Program FilesDTrace
- ορίστε 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 (Function Boundary Tracing) – Εισαγωγή συνάρτησης πυρήνα και returnspid – Ανίχνευση διαδικασίας λειτουργίας χρήστη. Όπως και το FBT σε λειτουργία πυρήνα, αλλά και επιτρέποντας την οργάνωση της αυθαίρετης συνάρτησης offsets.etw (Ιχνηλάτηση συμβάντων για Windows) – Επιτρέπει τον καθορισμό ανιχνευτών για το ETW Αυτός ο πάροχος βοηθά στη μόχλευση των υπαρχόντων οργάνων του λειτουργικού συστήματος στο DTrace.
- Αυτή είναι μια προσθήκη που κάναμε στο DTrace για να του επιτρέψουμε να εκθέσει και να αποκτήσει όλες τις πληροφορίες που ήδη παρέχουν τα Windows στο S.T.W.
Περισσότερα δείγματα σεναρίων που ισχύουν για σενάρια Windows μπορείτε να βρείτε σε αυτό κατάλογο δειγμάτων.
Πηγή: Microsoft