2

我有一台安装了 Windows 8.1 和 ADK (xperf 6.3.9600) 的机器。

我有另一台安装了 Windows 7 SP1 和 8.1 ADK (xperf 6.3.9600) 的机器。

如果我在 8.1 机器上使用 xperf 生成跟踪,我无法在 Win7 机器上加载该跟踪;它给了我错误The file or directory is corrupted and unreadable. (0x80070570).

ETL 文件可以成功加载到生成它的机器上以及另一台同样运行 Windows 8.1 的机器上。

是否只能在与生成它们的操作系统相同或更高的操作系统上加载跟踪文件?为什么它不需要相同的 xperf/WPA 版本?还是这对其他人有用,而我忽略了一些东西?

4

2 回答 2

2

错误消息表示跟踪已损坏 ( ERROR_METADATA_MISSING )。微软告诉我,当您在 64 位 Windows 上使用 32 位 WPT 而不是 64 位 WPT 时,可能会发生这种情况。

正常的 ETL 跟踪在 Windows 7 下可以正常打开:

在此处输入图像描述

于 2014-03-18T19:07:42.483 回答
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 上查看它们,则必须禁用此功能。

于 2014-03-18T02:58:27.527 回答