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