[占用率]在"CPU使用率"报告的“功能名称"列中表示什么? [英] What does [Broken] indicate in the Function Name column of a CPU Usage report?

查看:115
本文介绍了[占用率]在"CPU使用率"报告的“功能名称"列中表示什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在一个小程序上运行了Visual Studio的CPU使用情况分析器,并且部分输出在[Broken]条目下列出.我通过Debug版本和Release版本获得了此结果.该条目表示什么?

I've run Visual Studio's CPU Usage profiler on a small program, and part of the output is listed under a [Broken] entry. I get this result with a Debug build and a Release build. What does this entry indicate?

推荐答案

我不使用此工具,而是使用名为

I don't use this tool, but a similar tool called Perfview that does include this hint in its help:

获取样本后,ETW系统将尝试获取堆栈跟踪. 由于各种原因,这可能会在 完整的堆栈已被取出. PerfView使用所有的启发式 堆栈应以特定OS DLL(ntdll)中的帧结尾 负责创建线程. 如果堆栈没有到此结束, PerfView假定它已损坏,并注入一个称为 线程与已获取的堆栈部分之间的中断" (至少它将具有样本所在的地址 采取).

When a sample is taken, the ETW system attempts to take a stack trace. For a variety of reasons it is possible that this will fail before a complete stack is taken. PerfView uses the heuristic that all stacks should end in a frame in a particular OS DLL (ntdll) which is responsible for creating threads. If a stack does not end there, PerfView assumes that it is broken, and injects a pseudo-node called 'BROKEN' between the thread and the part of the stack that was fetched (at the very least it will have the address of where the sample was taken).

两者都使用Windows事件跟踪(ETW),因此两者都可以使用类似的逻辑将其显示为BROKEN.

Both use Event Tracing for Windows (ETW), so both may use similar logic to show them as BROKEN.

这篇关于[占用率]在"CPU使用率"报告的“功能名称"列中表示什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆