What does [Broken] indicate in the Function Name c

2020-03-04 07:26发布

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?

screenshot of Visual Studio

1条回答
仙女界的扛把子
2楼-- · 2020-03-04 08:04

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

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).

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

查看更多
登录 后发表回答