当我分析我的.net 4.5应用程序时,VS profiler只显示msvcr120_clr0400.dll。它也无法加载其符号。以下是探查器的输出
无法加载C:\ Windows \ System32 \ msvcr120_clr0400.dll的符号
我找不到有关此dll的信息。我跟着this post:我取消选中Just My Code选项并尝试使用ngen生成dll的pdb文件,但ngen抱怨给定文件不是有效图像。
指定的原生图像无效。 未指定的错误(来自HRESULT的异常:0x80004005(E_FAIL))
我在参考文献中没有提到这个dll。我有三个第三方库:C5,MathNet,MIConvexHull。休息是普通的C#代码。
当我创建新项目并在那里进行性能分析时,它运行正常。我进一步为这个新项目添加了第三方库,仍然可以进行分析。
答案 0 :(得分:3)
您是否有机会使用Windows 8.1?如果您在Windows 8.1上使用采样,则需要升级到VS2012 Update 4(或更新版本的VS)才能解析符号。这是因为8.1版本中发生的Windows更改导致VS的旧版本的探查器无法获得允许其将符号文件(PDB)与二进制文件匹配的唯一标识符。
此处my blog post的更多信息。
此问题与NGEN无关(这与您链接的帖子有关)。