首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有方法从Windows性能记录跟踪(WPR)中提取实际的调用堆栈地址?

是否有方法从Windows性能记录跟踪(WPR)中提取实际的调用堆栈地址?
EN

Stack Overflow用户
提问于 2016-07-18 17:15:22
回答 2查看 566关注 0票数 2

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

我设法用正确的数据准备了一个概要文件,但不幸的是,data出口商仍然试图翻译地址,即使"-symbols“没有提供给命令行,也会产生一些无用的信息。

代码语言:javascript
复制
/<ModuleName.dll>!<Symbols disabled> 

警告。

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-09 23:32:30

是。您也可以使用xperf.exe。你试过行动选项了吗?

我希望xperf -a堆栈在这里会有所帮助。

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

票数 0
EN

Stack Overflow用户

发布于 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输出更适合人工处理(表格表示)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38442486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档