Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wypróbuj TraceProcessor, aby uzyskać dostęp do danych śledzenia zdarzeń w systemie Windows (ETW). Narzędzie TraceProcessor umożliwia dostęp do danych śledzenia ETW jako obiektów platformy .NET.
Z tego przewodnika Szybki start dowiesz się, jak wykonywać następujące zadania:
- Zainstaluj pakiet NuGet TraceProcessing.
- Utwórz TraceProcessor.
- Użyj narzędzia TraceProcessor, aby uzyskać dostęp do wierszy poleceń procesu zawartych w śladzie.
Wymagania wstępne
Visual Studio 2019
Instalowanie pakietu NuGet TraceProcessing
TraceProcessing dla platformy .NET jest dostępne w NuGet pod następującym identyfikatorem pakietu:
Microsoft.Windows.EventTracing.Processing.All
Za pomocą tego pakietu w aplikacji konsolowej można wyświetlić listę wierszy poleceń procesu zawartych w pliku śledzenia ETW (plik etl).
Utwórz nową aplikację konsolową platformy .NET. W programie Visual Studio wybierz pozycję Plik, Nowy, Projekt..., a następnie wybierz szablon Aplikacja konsolowa dla języka C#.
Wprowadź nazwę projektu, na przykład TraceProcessorQuickstart, a następnie wybierz pozycję Utwórz.
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy pozycję Zależności i wybierz polecenie Zarządzaj pakietami NuGet... i przejdź do karty Przeglądaj.
W polu wyszukiwania wprowadź Microsoft.Windows.EventTracing.Processing.All.
Wybierz pozycję Zainstaluj w pakiecie NuGet o tej nazwie i zamknij okno NuGet.
Utwórz TraceProcessor
Zmień Program.cs na następującą zawartość:
using Microsoft.Windows.EventTracing; using Microsoft.Windows.EventTracing.Processes; using System; class Program { static void Main(string[] args) { if (args.Length != 1) { Console.Error.WriteLine("Usage: <trace.etl>"); return; } using (ITraceProcessor trace = TraceProcessor.Create(args[0])) { // TODO: call trace.Use... trace.Process(); Console.WriteLine("TODO: Access data from the trace"); } } }Podaj nazwę śledzenia, która ma być używana podczas uruchamiania projektu.
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt i wybierz polecenie Właściwości. Przejdź do karty Debugowanie i wprowadź ścieżkę do pliku śledzenia (plik etl) w argumentach aplikacji.
Jeśli nie masz jeszcze pliku śledzenia, możesz go utworzyć za pomocą narzędzia Windows Performance Recorder .
Uruchom aplikację.
Wybierz pozycję Debuguj, Rozpocznij bez debugowania, aby uruchomić kod.
Uzyskiwanie dostępu do wierszy poleceń procesu zawartych w śladzie za pomocą narzędzia TraceProcessor
Zmień Program.cs na następującą zawartość:
using Microsoft.Windows.EventTracing; using Microsoft.Windows.EventTracing.Processes; using System; class Program { static void Main(string[] args) { if (args.Length != 1) { Console.Error.WriteLine("Usage: <trace.etl>"); return; } using (ITraceProcessor trace = TraceProcessor.Create(args[0])) { IPendingResult<IProcessDataSource> pendingProcessData = trace.UseProcesses(); trace.Process(); IProcessDataSource processData = pendingProcessData.Result; foreach (IProcess process in processData.Processes) { Console.WriteLine(process.CommandLine); } } } }Ponownie uruchom aplikację.
Tym razem powinna zostać wyświetlona lista wierszy poleceń ze wszystkich procesów, które były wykonywane podczas rejestrowania.
Dalsze kroki
W tym szybkim starcie utworzono aplikację konsolową, zainstalowano narzędzie TraceProcessor i użyto go do uzyskiwania dostępu do wierszy poleceń procesu ze śledzenia ETW. Teraz masz aplikację, która uzyskuje dostęp do danych śledzenia.
Informacje o procesie są tylko jednym z wielu rodzajów danych przechowywanych w śladzie ETW, do których aplikacja może uzyskać dostęp.
Następnym krokiem jest przyjrzeć się bliżej TraceProcessor i innym źródłom danych, do których może uzyskać dostęp.
Windows developer