Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vyzkoušejte TraceProcessor pro přístup k datům v trasování událostí pro Windows (ETW). TraceProcessor umožňuje přístup k datům trasování ETW jako k objektům .NET.
V tomto rychlém startu se naučíte:
- Nainstalujte balíček NuGet TraceProcessing.
- Vytvořte TraceProcessor.
- Použijte TraceProcessor k přístupu k příkazovým řádkům procesu obsaženým v trasování.
Požadavky
Visual Studio 2019
Instalace balíčku NuGet TraceProcessing
.NET TraceProcessing je k dispozici z NuGetu s následujícím ID balíčku:
Microsoft.Windows.EventTracing.Processing.All
Tento balíček můžete použít v konzolové aplikaci k vypsání příkazových řádků procesů obsažených v záznamu ETW (soubor .etl).
Vytvořte novou konzolovou aplikaci .NET. V sadě Visual Studio vyberte Soubor, Nový, Projekt... a zvolte šablonu konzolové aplikace pro C#.
Zadejte název projektu, například TraceProcessorQuickstart, a zvolte Vytvořit.
V Průzkumníku řešení klikněte pravým tlačítkem na Závislosti a zvolte Spravovat balíčky NuGet... a přepněte na kartu Procházet.
Do vyhledávacího pole zadejte Microsoft.Windows.EventTracing.Processing.All a vyhledejte.
Vyberte Nainstalovat do balíčku NuGet s tímto názvem a zavřete okno NuGet.
Vytvoření TraceProcessoru
Změňte Program.cs na následující obsah:
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"); } } }Zadejte název sledování, který se má použít při spuštění projektu.
V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt a zvolte Vlastnosti. Přepněte na kartu Ladění a v argumentech aplikace zadejte cestu k trasování (souboru .etl).
Pokud ještě nemáte trasovací soubor, můžete ho vytvořit pomocí nástroje Windows Performance Recorder .
Aplikaci spusťte.
Zvolte Ladit, Spustit bez ladění a spusťte kód.
Použijte TraceProcessor pro přístup k příkazovým řádkům procesů obsaženým v trasování
Změňte Program.cs na následující obsah:
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); } } } }Spusťte aplikaci znovu.
Tentokrát byste měli vidět seznam příkazových řádků všech procesů, které se spouštěly během zaznamenávání sledování.
Další kroky
V tomto rychlém průvodci jste vytvořili konzolovou aplikaci, nainstalovali TraceProcessor a použili ji pro přístup k příkazovým řádkům procesu z ETW trasování (Trasování událostí pro Windows). Teď máte aplikaci, která přistupuje k datům trasování.
Informace o procesu jsou jen jedním z mnoha druhů dat uložených ve stopy ETW, ke kterým má vaše aplikace přístup.
Dalším krokem je podívat se blíže na TraceProcessor a další zdroje dat, ke kterým má přístup.
Windows developer