DTrace to platforma dynamicznego śledzenia, która umożliwia administratorowi lub programiście wgląd w system w czasie rzeczywistym w trybie użytkownika lub jądra. DTrace posiada zaawansowany język programowania w stylu C, pozwalający na 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 analizowania wzorców blokad, wykrywać zakleszczenia itp.
W systemie Windows narzędzie DTrace rozszerza funkcję śledzenia zdarzeń dla systemu Windows (ETW), która jest statyczna 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.
Firma Microsoft wdrożyła specjalny sterownik dla systemu Windows 10, który umożliwia wykonywanie szeregu ról monitorujących system. Sterownik będzie dołączony do systemu Windows 10 w wersji 1903. Ponadto DTrace wymaga obecnie uruchomienia systemu Windows z włączonym debugerem jądra.
Kod źródłowy przeniesionego narzędzia DTrace jest dostępny w serwisie GitHub. Odwiedź stronę DTrace w systemie Windowsw ramach projektu OpenDTrace na GitHub, aby go zobaczyć.
Zawartość ukrywać Skonfiguruj DTrace w Windows 10 Korzystanie z DTrace’aSkonfiguruj DTrace w Windows 10
Warunki wstępne korzystania z tej funkcji
- Insider systemu Windows 10wersja 18342lub wyżej
- Dostępne tylko nax64Windows i przechwytuje informacje o śledzeniu tylko dla procesów 64-bitowych Program Windows Insider jestwłączonyIskonfigurowanyz ważnym kontem Windows Insider
- Aby uzyskać szczegółowe informacje, odwiedź Ustawienia->Aktualizacja i zabezpieczenia->Program Windows Insider
Instrukcje:
- Zestaw konfiguracyjny BCD:
- bcdedit /włącz dtrace
- Pamiętaj, że musisz ponownie ustawić opcję bcdedit, jeśli aktualizujesz do nowej wersji Insider
- 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 plikZmienna środowiskowa PATHaby zawierałoC:Program FilesDTrace
- ustaw PATH=%PATH%;'C:Program FilesDTrace'
- Organizować cośścieżka symbolu
- Utwórz nowy katalog do lokalnego buforowania symboli. Przykład: mkdir c:symbols
- Ustawić_NT_SYMBOL_PATH=srv*C:symbole* http://msdl.microsoft.com/download/symbols
- DTrace automatycznie pobiera niezbędne symbole z serwera symboli i buforuje do ścieżki lokalnej.
Opcjonalny:Skonfiguruj debuger jądrapołączenie z maszyną docelową ( Link do MSDN). To jesttylkowymagane, jeśli chcesz śledzić zdarzenia jądra za pomocą FBT lub innych dostawców. - Pamiętaj, że będziesz musiał wyłączyć Secureboot i Bitlocker na C: (jeśli są włączone), jeśli chcesz skonfigurować debuger jądra.
Korzystanie z DTrace’a
- Otwórz wiersz poleceń z podwyższonym poziomem uprawnień.
- Wykonaj jedno z poniższych poleceń:|_+_|
Komendadtrace -lvn wywołanie systemowe:::wyświetli listę wszystkich sond i ich parametrów dostępnych u dostawcy wywołań systemowych.
Poniżej przedstawiono niektórych dostawców dostępnych w systemie Windows i ich instrumenty.
- syscall – wywołania systemowe NTOS fbt (śledzenie granic funkcji) – wejście funkcji jądra i zwroty pid – śledzenie procesów w trybie użytkownika. Podobnie jak FBT w trybie jądra, ale umożliwia także instrumentację dowolnych funkcji offsets.etw (śledzenie zdarzeń dla Windows) – umożliwia definiowanie sond dla ETW. Ten dostawca pomaga wykorzystać istniejące instrumentarium systemu operacyjnego w DTrace.
- To jeden z dodatków, który wprowadziliśmy do DTrace, aby umożliwić mu ujawnienie i uzyskanie wszystkich informacji, które Windows już udostępnia S.T.W.
Więcej przykładowych skryptów mających zastosowanie w scenariuszach systemu Windows można znaleźć w tym miejscu katalog próbek.
Źródło: Microsoftu