Перечислите файлы, доступные для каждого процесса с помощью xperf? - PullRequest
3 голосов
/ 05 апреля 2011

С помощью xperf я могу создать трассировку и получить «плоский» список всех файлов, читаемых следующим образом:

xperf -on FileIO + FILE_IO + FILE_IO_INIT + FILENAME -stackwalk FileRead + FileWrite + FileDelete

xperf -start FileIOSession -heap -PidNewProcess "C: \ Python27 \ x86 \ python.exe scratchy.py" -WaitForNewProcess -BufferSize 1024 -MinBuffers 128 -MaxBuffers 512 -stackwalk HeapAlloc + HeapReallohef.1005 *

xperf -stop FileIOSession -stop -d fileio.etl

xperf -i fileio.etl -o fio_output.txt -a имя файла

К сожалению, файл fio_output.txt содержитсписок всех мыслимых файлов, к которым был получен доступ (из моего веб-браузера, IDE и т. д.).Еще более неприятно, что если я вручную открою xperfview и открою Сводную таблицу ввода / вывода файлов, я смогу увидеть свой процесс (в данном случае python.exe) и один файл, который он читает (в целях тестирования), но не может найтиспособ вывести те же данные в CLI, что мне и нужно, - автоматический автоматический способ получения информации о доступе к файлам.

Ответы [ 2 ]

1 голос
/ 08 июня 2015

Если вы хотите просмотреть эти данные, вам следует загрузить трассировку в WPA, открыть таблицу ввода-вывода файла и правильно расположить столбцы.Так как вы хотите сгруппировать по процессам, вы должны сначала иметь столбец процесса, затем оранжевую полосу, а затем любые столбцы данных, которые вы хотите.

Если вы хотите экспортировать данные для программного анализа, то вам следует использовать wpaexporter.exe, новый в WPT 8.1.Посмотрите этот пост в блоге, который я написал, описывающий, как это сделать: https://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/ Использование wpaexporter позволяет вам точно определить, какие столбцы данных вы хотите экспортировать, вместо того, чтобы ограничиваться ограниченным набором действий по обработке трассировки, которые дает вам xperf.exe.

0 голосов
/ 05 апреля 2011

Я подозреваю, что вы можете получить эти данные из tracerpt.exe - я бы попробовал

...