Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können TraceLoggging-Daten mit den neuesten internen Versionen der Windows Performance Tools (WPT) erfassen und anzeigen. Bevor Sie Ihre Instrumentierung veröffentlichen, sollten Sie den TraceLogging-Anbietercode testen, um sicherzustellen, dass Ihre Ereignisdaten generiert werden und zu den richtigen Zeitpunkten aussagekräftige Daten erzeugen.
Die Überprüfung, ob die Instrumentierung korrekt ist, umfasst die folgenden beiden Schritte:
- Erfassen Sie die Ablaufverfolgung mit Windows Performance Recorder (wpr.exe oder wprui.exe).
- Anzeigen der Ablaufverfolgung mit windows Leistungsanalyse (wpa.exe).
Hinweis Für Windows Phone können Sie auch Tracelog.exe und Xperf.exe verwenden, um die Ablaufverfolgung zu erfassen. Weitere Informationen finden Sie weiter unten unter "So erfassen Sie die Ablaufverfolgung auf dem Smartphone (mit Tracelog und XPerf)."
Voraussetzungen
Die WPR- und WPA-Tools müssen mit der Version von TraceLogging kompatibel sein, mit der Sie verknüpft sind. Wenn Sie Ihre Ereignisse nicht erfassen oder decodieren können, kann dies daran liegen, dass die Tools nicht übereinstimmen und nicht kompatibel sind.
So erfassen Sie Ablaufverfolgungsdaten mit WPR
Erstellen oder bearbeiten Sie ein WPR-Profil (.wprp) für Ihren TraceLoggingProvider.
Sie können das folgende Beispiel verwenden. Speichern Sie den Inhalt in einer Datei mit der Dateinamenerweiterung .wprp. Ersetzen Sie die TODO-Abschnitte durch die entsprechenden Werte für Ihren Anbieter. Wenn Sie ihren Anbieter beispielsweise nach GUID registriert haben, geben Sie die GUID in dieser Datei an.
Hinweis Fügen Sie für Kernelmodusanbieter nonPagedMemory="true" zum EventProvider Id-Element hinzu. Weitere Informationen finden Sie im Kommentar im folgenden XML-Beispiel.
WPRP-Beispieldatei:
<?xml version="1.0" encoding="utf-8"?>
<!-- TODO:
1. Find and replace "WorkshopTraceLoggingProvider" with your component name.
2. See TODO below to update GUID for your event provider
-->
<WindowsPerformanceRecorder Version="1.0" Author="Microsoft Corporation"
Copyright="Microsoft Corporation" Company="Microsoft Corporation">
<Profiles>
<EventCollector Id="EventCollector_WorkshopTraceLoggingProvider"
Name="WorkshopTraceLoggingProviderCollector">
<BufferSize Value="64" />
<Buffers Value="4" />
</EventCollector>
<!-- TODO:
1. Update Name attribute in EventProvider xml element with your provider GUID,
or if you specify an EventSource C# provider or call TraceLoggingRegister(...)
without a GUID, use star(*) before your provider name,
eg: Name="*MyEventSourceProvider" which will enable your provider appropriately.
2. This sample lists more than 1 EventProvider xml element and references them again
in a Profile with EventProviderId xml element. For your component wprp, enable
the required number of providers and fix the Profile xml element appropriately
-->
<EventProvider Id="EventProvider_WorkshopTraceLoggingProvider"
Name="f9bc6c5d-4b98-43b5-90a1-1d0c8f45bf5a" />
<!-- For Kernel Mode providers, add NonPagedMemory="true" attribute to the
EventProvider Id element:
Example:
<EventProvider Id="EventProvider_UMDFReflector"
Name="263dd596-513b-4fd9-969c-022b691bb130" NonPagedMemory="true"/>
-->
<Profile Id="WorkshopTraceLoggingProvider.Verbose.File"
Name="WorkshopTraceLoggingProvider" Description="WorkshopTraceLoggingProvider"
LoggingMode="File" DetailLevel="Verbose">
<Collectors>
<EventCollectorId Value="EventCollector_WorkshopTraceLoggingProvider">
<EventProviders>
<!-- TODO:
1. Fix your EventProviderId with Value same as the Id attribute on EventProvider
xml element above
-->
<EventProviderId Value="EventProvider_WorkshopTraceLoggingProvider" />
</EventProviders>
</EventCollectorId>
</Collectors>
</Profile>
<Profile Id="WorkshopTraceLoggingProvider.Light.File"
Name="WorkshopTraceLoggingProvider"
Description="WorkshopTraceLoggingProvider"
Base="WorkshopTraceLoggingProvider.Verbose.File"
LoggingMode="File"
DetailLevel="Light" />
<Profile Id="WorkshopTraceLoggingProvider.Verbose.Memory"
Name="WorkshopTraceLoggingProvider"
Description="WorkshopTraceLoggingProvider"
Base="WorkshopTraceLoggingProvider.Verbose.File"
LoggingMode="Memory"
DetailLevel="Verbose" />
<Profile Id="WorkshopTraceLoggingProvider.Light.Memory"
Name="WorkshopTraceLoggingProvider"
Description="WorkshopTraceLoggingProvider"
Base="WorkshopTraceLoggingProvider.Verbose.File"
LoggingMode="Memory"
DetailLevel="Light" />
</Profiles>
</WindowsPerformanceRecorder>
Für Kernelmodusanbieter müssen Sie dem EventProvider Id-Element das NonPagedMemory="true"-Attribut hinzufügen.
<EventProvider Id="EventProvider_myTraceLoggingProviderKM" Name="263dd596-513b-4fd9-969c-022b691bb130" NonPagedMemory="true"/>Speichern Sie die Datei mit der Dateinamenerweiterung (. WPRP).
Starten Sie die Erfassung mithilfe von WPR über ein Eingabeaufforderungsfenster.
<path to wpr>\wpr.exe -start GeneralProfile -start yourTraceLoggingProvider.wprpDas GeneralProfile erfasst Systemereignisse. Für das allgemeine Debuggen empfiehlt es sich, Systemereignisse zusammen mit den Ereignissen ihres Anbieters zu erfassen.
Führen Sie Ihr Testszenario aus (Laden und Entladen des Treibers oder der Komponente, um Ereignisse auszulösen).
Beenden Sie die Ablaufverfolgungserfassung, und führen Sie alle Aufzeichnungen zusammen.
<path to wpr>\wpr.exe -stop GeneralProfile -stop yourTraceCaptureFile.etl description
Sie können auch die Windows Performance Recorder-Benutzeroberfläche (Wprui.exe) verwenden, um Ablaufverfolgungsdaten zu sammeln.
<path to wpr>\wprui.exe
- Klicken Sie im WPR-Fenster auf Weitere Optionen, wenn die Optionen ausgeblendet sind.
- Klicken Sie auf Profil hinzufügen , und navigieren Sie zum Speicherort Ihrer WPRP-Datei.
- Wählen Sie die WPRP-Datei aus, und klicken Sie auf Öffnen. WPR überprüft das XML-Schema Ihres Profils.
- Klicken Sie auf Start , und führen Sie ihr Testszenario aus.
- Klicken Sie auf Speichern , um die Ergebnisse zusammenzuführen und in einer Datei zu speichern. Wenn Sie die WPR-Benutzeroberfläche verwenden, haben Sie auch die Möglichkeit, die ETL-Protokolldatei in WPA zu öffnen.
So erfassen Sie die Ablaufverfolgung auf dem Telefon (mit Tracelog und XPerf)
Starten Sie die Ablaufverfolgungserfassung Ihres Anbieters.
cmdd tracelog '-start test -f c:\test.etl -guid #providerguid'Führen Sie Ihre Testszenarien aus, um Ereignisse zu protokollieren.
Beenden Sie die Ablaufverfolgungserfassung.
cmdd tracelog '-stop test'Zusammenführen von Ablaufverfolgungsergebnissen.
cmdd xperf -merge c:\test.etl c:\testmerged.etlRufen Sie die zusammengeführte Protokolldatei ab.
getd c:\testmerged.etl
Anzeigen von Ablaufverfolgungsprotokollierungsdaten mithilfe von WPA
Derzeit ist WPA der einzige Viewer, den Sie verwenden können, um die von TraceLogging erzeugten Etl-Dateien anzuzeigen.
Starten Sie WPA.
<path to wpr>\wpa.exeLaden Sie die Ablaufverfolgungsdatei (ETL).
Zeigen Sie Ihre Anbieterereignisse an. Erweitern Sie im Explorer Graph die Option Systemaktivität.
Doppelklicken Sie auf Generische Ereignisse , um sie in der Analyseansicht anzuzeigen.
Suchen Sie in der Ansicht Analyse nach den Ereignissen Ihres Anbieters, um zu überprüfen, ob die Protokollierung funktioniert.
Suchen Sie in der Spalte Anbietername der Tabelle Generische Ereignisse die Zeile mit ihrem Anbieternamen, und wählen Sie sie aus.
Sie können auf die Spaltenüberschrift klicken, um nach Spaltennamen zu sortieren, was die Suche nach Ihrem Anbieter erleichtern kann. Wenn Sie Ihren Anbieter finden, klicken Sie mit der rechten Maustaste auf den Namen, und wählen Sie Nach Auswahl filtern aus.