Visual Studio Profiler显示"[broken]"作为函数名称

Ras*_*sen 12 profiling visual-studio visual-c++ visual-studio-2017

我试图描述我的c ++ dll,但是探查器不能和我合作.我希望看到调用树是这样的,但只有stl函数出现,而不是所有不相交 - 当我点击任何函数时,他们的调用者是"[broken]".

我不知道我的谷歌技能是否不够,但我找不到任何关于[破碎]意味着什么以及如何修复它的信息.

这是一个调试版本.我不能保证这不是由于一些编译器设置,但我感觉像我已经尝试了一切.

应该注意的是,破坏代码并添加断点的工作正常,因此探查器只是不访问此信息

如果它添加任何信息,则按此处指定的特定DLL的分析会给出异常"文件不包含数据缓冲区".

Profiler输出

Art*_*rty 4

我的猜测是您的输出 PDB 出现问题(例如,您可能在链接器的设置中设置了 /DEBUG:FASTLINK,这会生成仅供参考的 PDB)。

如果不是这种情况,您可以尝试我的分析器- 它作为 VisualStudio 的扩展,进行检测(意味着它的功能准确)并实时显示统计信息。