callstack - 为什么没有 "generic events"的调用堆栈

标签 callstack xperf wpr windows-performance-analyzer

我读过

Capture callstack and events in Xperf

和其他来源,但我想做的最简单的事情就是简单地在 WPA 的“通用事件”图表中显示“Stack”列。

WPA, Generic events graph

为什么不存在?当然,因为堆栈信息不可用,但为什么呢?我确实知道“xperf -help stackwalk”,但列出的内容不是我要找的。例如,

xperf -on networktrace -stackwalk networktrace

不可能获取网络事件的调用堆栈。为什么?我肯定错过了什么。谢谢!

最佳答案

激活用户模式事件的堆栈具有以下语法:PROVIDER:KEYWORD:LEVEL:'stack'

您必须以这种方式激活堆栈:

"C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\xperf.exe" -start UserLogger -on Microsoft-Windows-Kernel-Network:::'stack'+Microsoft-Windows-Networking-Correlation:::'stack'+Microsoft-Windows-TCPIP:::'stack' -buffersize 2048 -f User.etl

关于callstack - 为什么没有 "generic events"的调用堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35160385/

相关文章:

memory - 调用堆栈会耗尽内存吗?

R: promise 已在评估中

wpf - 使用 XPerf.exe 获取 WPF ETW 事件

asp.net - 我可以使用 xperf 来分析托管代码吗?

windows - perfmon 性能计数器是否基于与 xperf 使用的 ETW 事件相同的 "under the hood"?

windows-8.1 - 仅为提供程序中的某些特定 ETW 任务激活堆栈?

c++ - 调用堆栈是否在 C++ 中先入/先出?

sharepoint - 如何在SharePoint 2010中看到异常调用堆栈?