Windows Tips & News

DTrace jest teraz dostępny w systemie Windows

click fraud protection
ZALECANA: Kliknij tutaj, aby rozwiązać problemy z systemem Windows i zoptymalizować wydajność systemu

Następna aktualizacja funkcji systemu Windows 10 (aktualizacja 19H1, kwiecień 2019, wersja 1903) będzie zawierać obsługę DTrace, popularnego narzędzia do debugowania i diagnostyki typu open source. Został pierwotnie zbudowany dla systemu Solaris i stał się dostępny dla systemów Linux, FreeBSD, NetBSD i macOS. Microsoft przeniósł go do systemu Windows.

Reklama

DTrace to dynamiczna platforma śledzenia, która umożliwia administratorowi lub programiście wgląd w system w czasie rzeczywistym w trybie użytkownika lub jądra. DTrace ma wysoki poziom i potężny 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ć według warunków lub błędów, pisać kod, aby analizować wzorce blokad, wykrywać zakleszczenia itp.

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ą wywołaniami udokumentowanymi.

Dtrace w systemie Windows

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 obecnie wymaga uruchomienia systemu Windows z włączonym debugerem jądra.

Kod źródłowy przeniesionego narzędzia DTrace jest dostępny na GitHub. Odwiedź stronę „DTrace w systemie Windows” w ramach projektu OpenDTrace na GitHub, aby go zobaczyć.

Zawartośćukryć
Skonfiguruj DTrace w Windows 10
Korzystanie z DTrace

Skonfiguruj DTrace w Windows 10

Warunki wstępne korzystania z funkcji

  • Insider systemu Windows 10 kompilacja 18342 lub wyżej
  • Dostępne tylko na x64 Windows i przechwytuje informacje o śledzeniu tylko dla procesów 64-bitowych
  • Niejawny program testów systemu Windows jest włączony oraz skonfigurowany z ważnym kontem Windows Insider
    • Odwiedź Ustawienia->Aktualizacja i zabezpieczenia->Niejawny program testów systemu Windows, aby uzyskać szczegółowe informacje

Instrukcje:

  1. Zestaw konfiguracyjny BCD:
    1. bcdedit /włącz dtrace
    2. Uwaga, musisz ponownie ustawić opcję bcdedit, jeśli uaktualnisz do nowej wersji Insider
  2. Pobierać i zainstaluj pakiet DTrace z Centrum pobierania.
    1. Instaluje to komponenty trybu użytkownika, sterowniki i dodatkowe pakiety funkcji na żądanie, niezbędne do działania DTrace.
  3. Opcjonalnie: zaktualizuj Zmienna środowiskowa PATH aby zawierało C:\Pliki programów\DTrace
    1. ustaw PATH=%PATH%;"C:\Program Files\DTrace"
  4. Ustawiać ścieżka symbolu
    1. Utwórz nowy katalog do lokalnego buforowania symboli. Przykład: mkdir c:\symbole
    2. Ustawić _NT_SYMBOL_PATH=srv*C:\symbole*http://msdl.microsoft.com/download/symbols
    3. DTrace automatycznie pobiera niezbędne symbole z serwera symboli i buforuje do lokalnej ścieżki.
  5. Opcjonalny:Debuger konfiguracji jądra połączenie z maszyną docelową (Łącze MSDN). To jest tylko wymagane, jeśli chcesz śledzić zdarzenia jądra za pomocą FBT lub innych dostawców.
    1. Zauważ, że będziesz musiał wyłączyć Secureboot i Bitlocker na C:, (jeśli są włączone), jeśli chcesz skonfigurować debuger jądra.
  6. Restart maszyna docelowa

Korzystanie z DTrace

  1. Otwórz i wiersz polecenia z podwyższonym poziomem uprawnień.
  2. Wykonaj jedno z następujących poleceń:
    # Podsumowanie wywołania Syscall według programu przez 5 sekund: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Podsumuj ustawianie/anulowanie programu czasowego przez 3 sekundy: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Zrzuć strukturę jądra procesu systemowego: (wymagane ścieżka symbolu do być ustawionym) 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 u dostawcy syscall.

Poniżej wymieniono niektórych dostawców dostępnych w systemie Windows i ich instrumenty.

  • wywołanie systemowe – Wywołania systemowe NTOS
  • fbt (Function Boundary Tracing) – Wprowadzanie i zwracanie funkcji jądra
  • pid – Śledzenie procesów w trybie użytkownika. Podobnie jak FBT w trybie jądra, ale pozwala również na oprzyrządowanie dowolnych przesunięć funkcji.
  • etw (Śledzenie zdarzeń dla systemu Windows) — umożliwia definiowanie sond dla ETW Ten dostawca pomaga wykorzystać istniejące oprzyrządowanie systemu operacyjnego w DTrace.
    • Jest to jeden z dodatków, który wprowadziliśmy do DTrace, aby umożliwić mu ujawnienie i uzyskanie wszystkich informacji, które system Windows już dostarcza w ETW.

Więcej przykładowych skryptów odpowiednich dla scenariuszy Windows można znaleźć w tym katalog próbek.

Źródło: Microsoft

ZALECANA: Kliknij tutaj, aby rozwiązać problemy z systemem Windows i zoptymalizować wydajność systemu
Funkcje Microsoft Edge Chromium Canary Ulepszenia trybu ciemnego

Funkcje Microsoft Edge Chromium Canary Ulepszenia trybu ciemnego

ZALECANA: Kliknij tutaj, aby rozwiązać problemy z systemem Windows i zoptymalizować wydajność sys...

Czytaj więcej

Pokaż ikonę tylko dla zakładki w Microsoft Edge Chromium

Ta strona korzysta z plików cookie, aby poprawić wrażenia podczas poruszania się po witrynie. Z t...

Czytaj więcej

Microsoft wypuszcza Edge Chromium, aby udostępnić Insiderów w wersji zapoznawczej

Ta strona korzysta z plików cookie, aby poprawić wrażenia podczas poruszania się po witrynie. Z t...

Czytaj więcej