windows - Liste filer tilgængelige per-proces med xperf?

Indlæg af Hanne Mølgaard Plasc

Problem



Med xperf kan jeg generere et spor og få en 'flad' liste over alle filer, der læses som sådan:


xperf -on FileIO + FILE\_IO + FILE\_IO\_INIT + FILENAME -stablerwalk FileRead + FileWrite + FileDelete


xperf-start FileIOSession -heap -PidNewProcess 'C: \ Python27 \ x86 \ python.exe scratchy.py' -WaitForNewProcess -BufferSize 1024 -MinBuffers 128 -MaxBuffers 512 -stackwalk HeapAlloc + HeapRealloc -f./tempheap.etl


xperf-stop FileIOSession -stop -d fileio.etl


xperf -i fileio.etl -o fio\_output.txt-et filnavn


Desværre indeholder filen fio\_output.txt en liste over alle tænkelige filer (fra min webbrowser, IDE osv.). Mere frustrerende, hvis jeg manuelt åbner xperfview og åbner File I/O-oversigtstabellen, kan jeg se min proces (python.exe i dette tilfælde) og den ene fil den læser (til testformål), men kan ikke synes at finde en måde at output de samme data på CLI, hvilket er hvad jeg har brug for - en uautoriseret, automatisk metode til generering af filadgangsinfo.

Bedste reference


Hvis du vil se disse data, skal du indlæse sporet i WPA, åbne filens I/O-tabel og arrangere kolonnerne korrekt. Da du vil gruppere efter proces, skal du have proceskolonnen først, derefter den orange linie og så uanset datakolonner, du vil have.


Hvis du vil eksportere dataene til at analysere det, skal du bruge wpaexporter.exe, nyt i WPT 8.1. Se dette blogindlæg, som jeg skrev, der beskriver hvordan man gør dette:
https://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/
Ved hjælp af wpaexporter kan du bestemme præcis, hvilke datakolonner du vil eksportere i stedet for at blive begrænset af det begrænsede sæt af sporingshandlinger, som xperf.exe giver dig. [1]

Andre referencer 1


Jeg formoder, at du kan få disse data ud af tracerpt.exe i stedet - jeg giver det et forsøg