Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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:
- Telepítse a TraceProcessing NuGet-csomagot.
- Hozzon létre egy TraceProcessort.
- 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ó.
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.
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.
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
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"); } } }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.
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
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); } } } }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.
Windows developer