【问题标题】:Visual Studio Profiler fails to load msvcr120_clr0400.dll and only shows that dllVisual Studio Profiler 无法加载 msvcr120_clr0400.dll 并且仅显示该 dll
【发布时间】:2014-05-22 16:30:08
【问题描述】:

当我分析我的 .net 4.5 应用程序时,VS 分析器只显示 msvcr120_clr0400.dll。它也无法加载其符号。这是分析器的输出

无法为 C:\Windows\System32\msvcr120_clr0400.dll 加载符号

我没有找到有关此 dll 的信息。我关注了this post:我取消选中 Just My Code 选项并尝试使用 ngen 生成 dll 的 pdb 文件,但是 ngen 抱怨给定文件不是有效图像。

指定的本机图像无效。 未指定的错误(HRESULT 异常:0x80004005 (E_FAIL))

我的参考资料中没有提到这个 dll。我有三个第三方库:C5MathNetMIConvexHull。 Rest 是普通的 C# 代码。

当我创建新项目并在那里进行性能分析时,它工作正常。我在这个新项目中进一步添加了 3rd 方库,仍然可以正常工作。

【问题讨论】:

  • 我已经完全放弃了从 VS2013 分析器中获取任何有用的信息,它太坏了。无论如何,在 Windows 8.1 上。手指交叉进行更新。获取该 DLL 的调试信息没有问题,但您确实需要启用 Microsoft 符号服务器。工具 + 选项、调试、符号。
  • Microsoft Symbol Server 已经启用,实际上我使用的是 VS2012。是不是也有这样的bug?

标签: c# visual-studio-2012 dll profiler


【解决方案1】:

您是否正在使用 Windows 8.1?如果您在 Windows 8.1 上使用采样,则需要升级到 VS2012 Update 4(或更新版本的 VS)才能解析符号。这是由于 8.1 版本中发生的 Windows 更改导致旧版本 VS 的分析器无法获得唯一标识符,使其能够将符号文件 (PDB) 与二进制文件匹配。

更多信息请点击此处my blog post

此问题与 NGEN 无关(这是您链接到的帖子的内容)。

【讨论】:

  • 在此处看到反馈的机会,将“视觉”放回分析器中。您的任何客户都不会对这样的报告感到满意,而根本没有机会找出问题所在。从模块调试器窗口中的“符号加载信息”命令中获取提示。
  • 我完全没有想到安装最新的更新。谢谢@mandaleeka!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
  • 2017-06-26
  • 2012-01-30
相关资源
最近更新 更多