Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
MFTrace is een hulpprogramma voor het genereren van traceringslogboeken voor Microsoft Media Foundation-toepassingen.
MFTrace maakt gebruik van de Detours-bibliotheek om in te haken op API-aanroepen van Media Foundation en traceringslogboeken te genereren. MFTrace kan ook traceringen vastleggen van elk onderdeel dat gebruikmaakt van Event Tracing for Windows (ETW) of de software trace preprocessor (WPP) om traceringen te genereren. Traceerlogboeken kunnen worden gegenereerd door een nieuw proces te starten vanuit MFTrace of door MFTrace aan een bestaand proces te koppelen.
Gebruik
mftrace [-aProcess][-cConfigurationFile][-dc][-es][-es][ -kKeyWords][-lLevel][-oOutputFile][-v][-?] [{COMMAND|ETL_FILE}]
Opdrachtregelargumenten | Beschrijving |
---|---|
-proces-id ofwel procesnaam |
Koppelen aan een draaiend proces. |
-cconfiguratiebestand |
Lees instellingen uit het opgegeven configuratiebestand. Zie MFTrace-configuratiebestand. |
-dc |
Tracering uitschakelen voor subprocessen. Standaard is tracen ingeschakeld voor subprocessen. |
-es |
Openbare symbolen inschakelen. |
-ktrefwoorden |
Een door komma's gescheiden lijst met trefwoorden. Zie MFTrace-trefwoorden. |
-lniveau |
Het traceringsniveau.
|
-ouitvoerbestand |
Schrijf de traceringsuitvoer naar het opgegeven bestand. Standaard gaat de uitvoer naar stdout. Als er een uitvoerbestand is opgegeven, moet de bestandsnaamextensie een van de volgende zijn:
|
-v |
Schakel de uitgebreide modus in. |
-? |
Gebruiksgegevens weergeven. |
COMMAND |
Opdrachtregelargumenten om een nieuw proces te maken. |
ETL_FILE |
De naam van een bestaand ETL-bestand. Als dit argument wordt opgegeven, wordt het ETL-bestand geconverteerd naar tekstuitvoer. |
Omgevingsvariabelen
-
TRACE_FORMAT_SEARCH_PATH
-
Als u onderdelen wilt traceren die gebruikmaken van de Windows-software trace preprocessor (WPP), stelt u deze omgevingsvariabele in op het opgeven van het pad naar de TMF-bestanden (Trace Message Format) voor het onderdeel.
-
_NT_SYMBOL_PATH
-
Als symboolzoekactie is ingeschakeld (-es), stelt u deze omgevingsvariabele in om het symboolpad op te geven.
Voorbeelden
Maak een nieuw proces en traceer dat proces:
mftrace.exe wmplayer.exe Wildlife.wmv
MFTrace koppelen aan een bestaand proces:
mftrace.exe -a wmplayer.exe
mftrace.exe -a 9132
Traceringsuitvoer verzenden naar een tekstbestand:
mftrace.exe -a wmplayer.exe -o trace.txt
ETW- of WPP-gebeurtenissen traceren:
mftrace.exe -c config.xml -o trace.txt
mftrace.exe -c config.xml -o trace.etl
Notitie
In het eerste voorbeeld wordt een tekstbestand gegenereerd. In het tweede voorbeeld wordt een ETL-bestand gegenereerd.
Een ETL-bestand converteren naar een tekstbestand:
mftrace.exe -o trace.txt trace.etl
Opmerkingen
Standaard genereert MFTrace alleen Detours-traceringen. Als u ETW- of WPP-traceringen wilt genereren, moet u een configuratiebestand opgeven. Het configuratiebestand geeft de namen van de traceringsproviders. Zie MFTrace-configuratiebestandvoor meer informatie.
MFTrace kan uitvoer verzenden naar de volgende bestemmingen:
- stdout- (de standaardinstelling).
- Een tekstbestand.
- Een binair ETL-bestand.
Als u ETW/WPP-traceringen aanmeldt, is een ETL-bestand de meest efficiƫnte optie, omdat de traceringsgegevens worden opgeslagen als binaire blobs. Nadat de traceringssessie is voltooid, kunt u MFTrace gebruiken om het ETL-bestand te converteren naar een tekstbestand.
Notitie
Voor het traceren van Detours is tekstuitvoer net zo efficiƫnt als een ETL-bestand. Daarom wordt tekstuitvoer aanbevolen als u alleen Detours-traces (zonder ETW/WPP-traces) in het logboek opneemt.
Voor de tracering van Detours moet u MFTrace koppelen aan een draaiend proces (-a) of MFTrace gebruiken om een nieuw proces te maken. Voor ETW/WPP-traceringen luistert MFTrace naar iedere gebeurtenisprovider die wordt vermeld in het configuratiebestand.
U kunt de traceringsresultaten filteren door traceringstrefwoorden op te geven, hetzij via de -k opdrachtregeloptie of in het configuratiebestand. Het meest gangbare gebruik is echter om alle traceringen te registreren en vervolgens een script of grep- te gebruiken om te zoeken naar bepaalde tekenreekspatronen.
De traceringsresultaten interpreteren
U kunt MFTrace gebruiken om vragen te beantwoorden over wat er gebeurt in uw Media Foundation-toepassing of -onderdeel. De volgende tabel bevat enkele typische vragen. De tweede kolom geeft de zoekreeks die u kan helpen bij het beantwoorden van de vraag.
Vraag | Zoekreeksen |
---|---|
Is er een fout opgetreden? | "0xc00d" |
Is de topologie correct opgelost? | "CTopologyHelpers::Trace" |
Is de mediasessie gestart? | "MESessionStarted" |
Welk bestand is afgespeeld? | CMFSourceResolverDetours |
Wat zijn de mediatypen voor de bronstreams? | "Nieuwe stream", "MENewStream", "CMFMediaSourceDetours::TracePD" |
Hebben de bronstreams voorbeelden gegenereerd? | "CMFMediaStreamDetours::HandleEvent", "MEMediaSample" |
Bereikte de weergave het einde van de gegevens? | "MEEndOfStream", "MEEndOfPresentation" |
Is de opmaak gewijzigd? | "MEStreamFormatChanged" (mediabronnen), "Nieuwe indeling", "MESessionStreamSinkFormatChanged" (media sinks) |
Welke objecten zijn gemaakt? | COle32ExportDetours::CoCreateInstance |
Hebben de Media Foundation-transformaties (MMFT's) in de pijplijn gegevens verwerkt? | "CMFTransformDetours::ProcessOutput", "CMFTransformDetours::ProcessInput" |
Welke statussen zijn ingesteld op de MMFT's? | CMFTransformDetours::ProcessMessage |
Heeft een MFT-voorstel om invoergegevens gevraagd? | "MF_E_TRANSFORM_NEED_MORE_INPUT" (synchrone-MFT), "METransformNeedInput" (asynchrone-MFT). |
Heeft een asynchrone MFT uitvoergegevens geproduceerd? | ProcessUitgangen beschikbaar |
Heeft een media-sink voorbeelden aangevraagd? | "MEStreamSinkRequestSample" |
Heeft een media-sink voorbeelden ontvangen? | CMFStreamSinkDetours::ProcessSample |
DirectShow: Welke voorbeelden zijn verwerkt? | "sample", "CMemInputPinDetours" |
DirectShow: Welke filtergrafiek is gebruikt? | "CGraphHelpers::Trace" |
Waren er meerdere processen? | "CreateProcess" Opmerking: zoek ook naar de proces-id, die aan het begin van elke traceringslijn wordt weergegeven. |
Verwante onderwerpen