我安装了Windows 8.1和ADK(xperf 6.3.9600)的机器。
我安装了另一台安装了Windows 7 SP1和8.1 ADK(xperf 6.3.9600)的计算机。
如果我使用xperf在8.1机器上生成跟踪,我无法在Win7机器上加载该跟踪;它给了我错误The file or directory is corrupted and unreadable. (0x80070570).
ETL文件可以成功加载到生成它的计算机上,也可以加载到另一台运行Windows 8.1的计算机上。
是否只能在等于或高于生成它们的操作系统上加载跟踪文件?为什么它不需要相同的xperf / WPA版本?或者这对其他人有用吗?我忽略了什么?
答案 0 :(得分:2)
错误消息表示跟踪已损坏( ERROR_METADATA_MISSING )。微软告诉我,当你在64位Windows上使用32位WPT而不是64位WPT时会发生这种情况。
在Windows 7下正常的ETL跟踪打开:
答案 1 :(得分:0)
我经常从其他机器加载痕迹并进行分析。我正在运行Windows 7 SP1 64位,我可以分析来自Windows 8.1和任何其他XP后版本Windows的跟踪。
您可能没有正确记录痕迹 - 也许您错过了合并步骤?我建议使用UIforETW,如下所述:
https://randomascii.wordpress.com/2015/09/01/xperf-basics-recording-a-trace-the-ultimate-easy-way/
如果它不起作用那么这是一个错误,但它应该有效。
我假设您运行的是64位Windows。某些跟踪需要大量内存才能加载,因此我建议您使用64位操作系统。
如果在Windows 8+上录制跟踪时压缩跟踪也会发生这种情况,因为Windows 7不支持加载压缩的ETW跟踪。但是,这不是你会意外做的事情 - 你需要在执行“xperf -merge”时添加-compress选项。但是,如果您切换到使用UIforETW,那么您必须要注意这一点。 UIforETW默认为压缩跟踪,如果要在Windows 7上查看它们,则必须禁用此跟踪。