根据https://randomascii.wordpress.com/2013/11/04/exporting-arbitrary-data-from-xperf-etl-files/的说法,wpaexporter.exe应该是正确的工具。
我设法用正确的数据准备了一个概要文件,但不幸的是,data出口商仍然试图翻译地址,即使"-symbols“没有提供给命令行,也会产生一些无用的信息。
/<ModuleName.dll>!<Symbols disabled> 警告。
这很烦人,因为我们的应用程序的一部分使用了一些Delphi代码,这些代码不能以Microsoft兼容的格式生成符号。有了地址,我们就可以使用地图文件在调用堆栈中找到Delphi符号。
有没有从wpr跟踪中提取调用堆栈地址的方法?
发布于 2016-08-09 23:32:30
是。您也可以使用xperf.exe。你试过行动选项了吗?
我希望xperf -a堆栈在这里会有所帮助。
您可以使用xperf -help处理命令查看详细信息。
发布于 2016-08-30 15:47:52
谢谢,我完全错过了xperf的处理选项.
同时,我发现LogParser (https://www.microsoft.com/en-us/download/details.aspx?id=24659)还可以将etl文件导出到csv (也包含实际值):
LogParser.exe“从file.etl中选择*”-i:ETW -o:CSV -oTsFormat "HH:mm:ss.ln“> output_file.csv
从我到目前为止看到的情况来看,LogParser输出可能更适合于自动解析(文件中每一个事件只有一行,没有头),而xperf输出更适合人工处理(表格表示)。
https://stackoverflow.com/questions/38442486
复制相似问题