我试图使用xperf在ASP.NET应用程序(本地运行)中分析CPU时间。
到目前为止,我已遵循标准程序:
cmd
xperf -on base
xperf -d mylog.etl
xperfview mylog.etl
此时,我可以看到非托管代码的调用报告。
对于我的.NET程序集,我需要做些什么呢?这甚至可能吗?
我有_NT_SYMBOL_PATH
中PDB的路径,至少我知道MS符号已加载。
我见过this question,但它没有解决方案。根据{{3}},
您需要Windows 8 SDK中的xperf版本。这个版本 支持.net。使用新的Performance Recorder UI和开始跟踪 此工具为ngened .net组件生成PDB,以便xperfview 并且WPA可以解码callstack。
任何人都可以证实吗?我使用的是Windows 7和Windows 7 SDK。我对安装另一个平台SDK持怀疑态度。
更新:是的,Windows 8 SDK在Windows 7上运行,为此,您唯一需要的就是Performance Toolkit。实际上,您甚至不必使用新的“Windows性能分析器”,因为新的“Windows性能记录器”生成的etl
文件仍然可以与xperfview
一起使用,包括增强的堆栈痕迹。有关进一步说明,请参阅已接受答案的评论。
答案 0 :(得分:2)
http://msdn.microsoft.com/en-us/library/ff357718%28v=vs.100%29.aspx