2

根据https://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/, wpaexporter.exe 应该是这样做的正确工具。

我设法用正确的数据准备了一个配置文件,但不幸的是,wpaexporter 一直在尝试翻译地址,即使没有将“-symbols”提供给命令行,也会产生一些无用的

/<ModuleName.dll>!<Symbols disabled> 

警告。

这很烦人,因为我们的应用程序的一部分使用了一些无法生成 Microsoft 兼容格式的符号的 Delphi 代码。有了地址,我们就可以使用映射文件在调用堆栈中找到 Delphi 符号。

有没有办法从 wpr 跟踪中提取调用堆栈地址?

4

2 回答 2

2

谢谢,我完全错过了 xperf 的处理选项......

同时,我发现 LogParser ( https://www.microsoft.com/en-us/download/details.aspx?id=24659 ) 也可以将 etl 文件导出到 csv (也有实际值):

LogParser.exe" "Select * from file.etl" -i:ETW -o:CSV -oTsFormat "HH:mm:ss.ln" > output_file.csv

从我目前所见,LogParser 输出可能更适合自动解析(文件中每个事件只有一行,没有标题),而 xperf 输出更适合人工处理(表格表示)。

于 2016-08-30T15:47:52.387 回答
0

是的。您也可以使用 xperf.exe。您是否尝试过操作选项?

我期望 xperf -a stack 在这里应该有所帮助。

您可以使用 xperf -help processing 命令查看详细信息。

于 2016-08-09T23:32:30.913 回答