Następna aktualizacja funkcji systemu Windows 10 (19H1, aktualizacja z kwietnia 2019 r., Wersja 1903) będzie obejmować obsługę DTrace, popularnego narzędzia do debugowania i diagnostyki typu open source. Pierwotnie został zbudowany dla Solaris i stał się dostępny dla Linuksa, FreeBSD, NetBSD i macOS. Microsoft przeniósł go do systemu Windows.
Reklama
DTrace to platforma do dynamicznego śledzenia, która pozwala administratorowi lub deweloperowi na wgląd w system w czasie rzeczywistym w trybie użytkownika lub jądra. DTrace posiada zaawansowany język programowania w stylu C, który umożliwia dynamiczne wstawianie punktów śledzenia. Korzystając z tych dynamicznie wstawianych punktów śledzenia, możesz filtrować warunki lub błędy, pisać kod w celu analizy wzorców blokad, wykrywania zakleszczeń itp.
jak sprawdzić, kto Cię prześladuje na facebooku
W systemie Windows DTrace rozszerza śledzenie zdarzeń dla systemu Windows (ETW), które jest statyczne i nie zapewnia możliwości programowego wstawiania punktów śledzenia w czasie wykonywania.
Wszystkie interfejsy API i funkcje używane przez dtrace.sys są udokumentowanymi wywołaniami.
automatycznie przesyłaj zdjęcia na dysk google
Firma Microsoft zaimplementowała specjalny sterownik dla systemu Windows 10, który umożliwia wykonywanie wielu ról monitorowania systemu. Sterownik zostanie dołączony do systemu Windows 10 w wersji 1903. Ponadto DTrace wymaga obecnie uruchamiania systemu Windows z włączonym debugerem jądra.
Kod źródłowy przeportowanego narzędzia DTrace jest dostępny na GitHub. Odwiedź stronę „ DTrace w systemie Windows ”W ramach projektu OpenDTrace na GitHub, aby go zobaczyć.
Skonfiguruj DTrace w Windows 10
Wymagania wstępne dotyczące korzystania z funkcji
- Insider systemu Windows 10 kompilacja 18342 lub wyżej
- Dostępne tylko w x64 Windows i przechwytuje informacje o śledzeniu tylko dla procesów 64-bitowych
- Niejawny program testów systemu Windows jest włączone i skonfigurowany z ważnym kontem Windows Insider
- Odwiedź Ustawienia-> Aktualizacja i zabezpieczenia-> Program niejawnych testerów systemu Windows, aby uzyskać szczegółowe informacje
Instrukcje:
jak przeglądać czyjeś polubienia na Instagramie
- Zestaw konfiguracyjny BCD :
- bcdedit / włącz dtrace
- Uwaga, musisz ponownie ustawić opcję bcdedit, jeśli zaktualizujesz do nowej kompilacji Insider
- Pobieranie i zainstaluj pakiet DTrace z Centrum pobierania .
- Spowoduje to zainstalowanie komponentów trybu użytkownika, sterowników i dodatkowych pakietów funkcji na żądanie, niezbędnych do działania DTrace.
- Opcjonalnie: zaktualizuj Zmienna środowiskowa PATH zawrzeć C: Program Files DTrace
- set PATH =% PATH%; 'C: Program Files DTrace'
- Ustawiać ścieżka symbolu
- Utwórz nowy katalog do lokalnego buforowania symboli. Przykład: mkdir c: symbols
- Zestaw _NT_SYMBOL_PATH = srv * C: symbols * http://msdl.microsoft.com/download/symbols
- DTrace automatycznie pobiera potrzebne symbole z serwera symboli i buforuje je do ścieżki lokalnej.
- Opcjonalny: Skonfiguruj debuger jądra połączenie z maszyną docelową ( Łącze MSDN ). To jest tylko wymagane, jeśli chcesz śledzić zdarzenia jądra przy użyciu FBT lub innych dostawców.
- Zauważ, że będziesz musiał wyłączyć Secureboot i Bitlocker na C :, (jeśli jest włączony), jeśli chcesz skonfigurować debuger jądra.
- Restart maszyna docelowa
Korzystanie z DTrace
- Otwórz plik podwyższony wiersz polecenia .
- Wykonaj jedno z następujących poleceń:
# Podsumowanie wywołania systemowego według programu przez 5 sekund: dtrace -Fn 'tick-5sec {exit (0);} syscall ::: entry {@num [pid, execname] = count ();}' # Podsumuj program ustawiania / anulowania timera przez 3 sekundy: dtrace -Fn 'tick-3sec {exit (0);} syscall :: Nt * Timer *: entry {@ [probefunc, execname, pid] = count ();}' # Zrzuć strukturę jądra procesu systemowego: (wymaga ustawienia ścieżki symbolu) dtrace -n 'BEGIN {print (* (struct nt`_EPROCESS *) nt`PsInitialSystemProcess); exit (0);}' # Śledzenie ścieżek przez NTFS podczas uruchamiania notepad.exe (wymaga KD a
Komenda dtrace -lvn syscall ::: wyświetli listę wszystkich sond i ich parametrów dostępnych od dostawcy syscall.
Poniżej znajduje się lista niektórych dostawców dostępnych w systemie Windows i ich instrumentarium.
- syscall - wywołania systemowe NTOS
- fbt (Śledzenie granic funkcji) - wejście i zwrot funkcji jądra
- pid - Śledzenie procesów w trybie użytkownika. Podobnie jak FBT w trybie jądra, ale umożliwia także instrumentację przesunięć funkcji o dowolnej funkcji.
- sth (Śledzenie zdarzeń dla systemu Windows) - umożliwia definiowanie sond dla ETW. Ten dostawca pomaga wykorzystać istniejącą instrumentację systemu operacyjnego w DTrace.
- Jest to jeden dodatek, który dodaliśmy do DTrace, aby umożliwić mu ujawnienie i uzyskanie wszystkich informacji, które Windows już dostarcza ETW .
Więcej przykładowych skryptów odpowiednich dla scenariuszy systemu Windows można znaleźć w tym dokumencie katalog próbek .
Źródło: Microsoft