Megosztás:


Rövid útmutató: Az első nyom feldolgozása

Próbálja ki a TraceProcessort, hogy hozzáférjen az adatokhoz egy Windows-eseménykövetési (ETW) nyomkövetésben. A TraceProcessor lehetővé teszi az ETW-nyomkövetési adatok .NET-objektumokként való elérését.

Ebből a rövid útmutatóból megtudhatja, hogyan:

  1. Telepítse a TraceProcessing NuGet-csomagot.
  2. Hozzon létre egy TraceProcessort.
  3. A TraceProcessor használatával hozzáférhet a nyomkövetésben található folyamat parancssoraihoz.

Előfeltételek

Visual Studio 2019

A TraceProcessing NuGet-csomag telepítése

A .NET TraceProcessing NuGet a következő csomagazonosítóval érhető el:

Microsoft.Windows.EventTracing.Processing.All

Ez a csomag egy konzolalkalmazásban az ETW-nyomkövetésben (.etl-fájlban) található folyamat parancssorainak listázására használható.

  1. Hozzon létre egy új .NET-konzolalkalmazást. A Visual Studióban válassza a Fájl, Új, Projekt... lehetőséget, és válassza a C# konzolalkalmazás-sablonját.

    Adjon meg egy projektnevet( például TraceProcessorQuickstart), és válassza a Létrehozás lehetőséget.

  2. A Megoldáskezelőben kattintson a jobb gombbal a függőségekre, és válassza a NuGet-csomagok kezelése... és váltson a Tallózás lapra.

  3. A Keresőmezőbe írja be a Microsoft.Windows.EventTracing.Processing.All kifejezést, és keressen rá.

    Válassza ki a "Telepítés" opciót a megadott nevű NuGet-csomagon, majd zárja be a NuGet-ablakot.

TraceProcessor létrehozása

  1. Módosítsa a Program.cs a következő tartalomra:

    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");
            }
        }
    }
    
  2. Adja meg a projekt futtatásakor használandó nyomkövetési nevet.

    A Megoldáskezelőben kattintson a jobb gombbal a projektre, és válassza a Tulajdonságok parancsot. Váltson a Hibakeresés lapra, és adja meg egy nyomkövetési (.etl-fájl) elérési útját az alkalmazásargumentumokban.

    Ha még nem rendelkezik nyomkövetési fájllal, Windows Teljesítményrögzítő használatával hozhat létre egyet.

  3. Indítsa el az alkalmazást.

    A kód futtatásához válassza a Hibakeresés lehetőséget, majd a hibakeresés nélküli indítás lehetőséget.

A TraceProcessor használata a nyomkövetésben található folyamat parancssorainak eléréséhez

  1. Módosítsa a Program.cs a következő tartalomra:

    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);
                }
            }
        }
    }
    
  2. Futtassa újra az alkalmazást.

    Ezúttal egy lista parancssorának kell megjelennie az összes olyan folyamatból, amely a nyomkövetés rögzítése közben lett végrehajtva.

Következő lépések

Ebben a rövid útmutatóban létrehozott egy konzolalkalmazást, telepítette a TraceProcessort, és arra használta, hogy hozzáférjen a folyamat parancssoraihoz egy ETW-nyomkövetésből. Most már van egy alkalmazás, amely hozzáfér a nyomkövetési adatokhoz.

A folyamatinformációk csak egyike az ETW-nyomkövetésben tárolt számos adatnak, amelyekhez az alkalmazás hozzáférhet.

A következő lépés a TraceProcessor és az általa elérhető egyéb adatforrások közelebbi megvizsgálása.