附加MSVC 2012探查器会挂起应用程序

Abs*_*ion 8 profiler visual-studio-2012

我有一个C++应用程序(它是使用Qt 5.8库构建的,并且PostgreSQL 9.5在与数据库相关的情况下使用它).该应用程序由MSVC 2012编译器构建,是64位应用程序,调试和发布版本都可以自行运行并在cdb调试器下运行.

当我尝试通过Visual Studio仪器(Analyze - > Profiler - > Attach)分析正在运行的应用程序时,它一旦尝试做一些有意义的事情就会立即挂起:只需调整窗口大小或单击复选框就可以了,但任何计算新值的尝试都是如此并将它们写入数据库永远不会成功,就像控制流没有从某个调用返回一样.

当我停止分析时,Studio标记为"热路径"调用序列RtlWalkFrameChain- > RtlpWalkFrameChain- > RtlpLookupFunctionEntryForStackWalks- > RtlLookupFunctionTable- > RtlAcquireSRWLockShared.
RtlpWalkFrameChain拥有最大的"独家样品"数量.
尝试过滤数据以排除最初的几秒运行(直到明显冻结)导致"无呼叫树数据可用"消息.

我没有设法找到任何类似问题的文章或帖子.
该项目是在Qt Creator中构建的(我没有Studio可以理解的项目文件,因此我无法运行"正常"性能分析).
OS是Windows 7,确切的版本Visual Studio是11.0.61219.00更新5.
欢迎任何关于这个主题的想法.

更新:当我尝试使用Luke Stackwalker探查器分析应用程序时,它会中止消息ERROR: StackWalk64-Endless-Callstack!.关于我发现的消息的唯一相关评论是Stackoverflow问题.当我在cdb调试器下运行应用程序然后尝试使用Luke Stackwalker对其进行配置时,错误消息是相同的,但调试器中的后续暂停显示所有线程的正确(或至少可信)堆栈.对于工作线程调试器指向系统库中的一行代码,并且无论我做什么都不会前进(再一次,没有分析尝试,应用程序正常运行,调试器与否).