在另一台计算机上查看xperf ETL文件时出错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在另一台计算机上查看xperf ETL文件时出错相关的知识,希望对你有一定的参考价值。

我有一台安装了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版本?或者这对其他人有用吗?有些东西我忽略了吗?

答案

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

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

另一答案

我经常从其他机器加载痕迹并进行分析。我正在运行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上查看它们,则必须禁用此跟踪。

以上是关于在另一台计算机上查看xperf ETL文件时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用 Qt 的程序在另一台计算机上执行时崩溃

我的 Blazor 服务器应用程序在一台本地计算机上的 Azure B2c 登录时遇到空引用错误,但在另一台本地计算机上没有,有啥想法吗?

VS2010 应用程序无法在另一台计算机上运行

已发布的 qt .exe 不会在另一台计算机上打开

OpenCV 程序无法在另一台计算机上运行

我可以在 xampp (localhost) 中运行我的项目,但是即使在配置后尝试在另一台计算机上运行时我也无法运行