gpt4 book ai didi

windows - 使用 xperf 列出每个进程访问的文件?

转载 作者:可可西里 更新时间:2023-11-01 09:35:36 27 4
gpt4 key购买 nike

使用 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+HeapRealloc -f ./tempheap.etl

xperf -stop FileIOSession -stop -d fileio.etl

xperf -i fileio.etl -o fio_output.txt -a 文件名

不幸的是,fio_output.txt 文件包含一个列表,列出了可以想象到的每个被访问过的文件(从我的网络浏览器、IDE 等)。更令人沮丧的是,如果我手动打开 xperfview 并打开文件 I/O 摘要表,我可以看到我的进程(在本例中为 python.exe)和它读取的一个文件(用于测试目的),但似乎无法找到一个在 CLI 上输出相同数据的方法,这正是我需要的——一种无人值守的自动生成文件访问信息的方法。

最佳答案

如果要查看此数据,则应将跟踪加载到 WPA 中,打开文件 I/O 表,并适本地排列列。由于您想要按进程分组,因此您应该首先拥有进程列,然后是橙色条,然后是您想要的任何数据列。

如果您想导出数据以编程方式解析它,那么您应该使用 WPT 8.1 中的新功能 wpaexporter.exe。请参阅我写的这篇描述如何执行此操作的博客文章: https://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/使用 wpaexporter 可以让您准确决定要导出哪些数据列,而不会受到 xperf.exe 为您提供的一组有限的跟踪处理操作的限制。

关于windows - 使用 xperf 列出每个进程访问的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5547019/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com