Visual Studio 2008 未加载 MFC dll 符号

Posted

技术标签:

【中文标题】Visual Studio 2008 未加载 MFC dll 符号【英文标题】:Visual Studio 2008 not loading MFC dll symbols 【发布时间】:2008-10-23 01:40:18 【问题描述】:

当我调试我的应用程序时,Visual Studio 2008 似乎没有为 MFC dll 加载符号。这曾经在 2005 年运行良好 - 即。当它加载 dll 时,它说“符号已加载”,然后可以对其进行调试。在 2008 年(已升级到 MFC 9,因此它们是不同的库)它并没有说它为 MFC dll 加载了符号,后来显示它没有因为无法调试它们(“没有加载符号”在调用堆栈等)。

是否有某种设置影响了这一点?我认为 MFC 9.0 应该仍然可以...

编辑:好的,所以进一步的研究表明我在 c:/windows/symbols/dll 中有某种符号,但 VS 说它们不匹配(而且它们看起来比应有的大六个月左右)。

【问题讨论】:

【参考方案1】:

使用 Microsoft 符号服务器。 Scott Hanselman 展示了如何do this globally。这适用于所有 Windows 调试器(即 WinDBG、NTSD 等)。

或者,您可以使用 Visual Studio 中的工具/选项/调试/符号条目。

这将导致 Visual Studio 在需要时下载任何符号。请记住,这会减慢您的前几次调试会话,因为它第一次下载符号文件的公制卸载负载。

哦,请确保您有足够的空间;我的一台 PC 上有几百 MB 的符号文件。

【讨论】:

【参考方案2】:

.pdb 文件必须与 .dll 版本完全匹配 - 您是否检查过它没有使用符号的缓存副本。

【讨论】:

以上是关于Visual Studio 2008 未加载 MFC dll 符号的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2008 输出 - 隐藏 dll 加载和卸载

C++ Visual Studio 2008 中未声明的标识符

Visual Studio 2008 表单继承和泛型加载失败

“未指定的错误”Visual Studio 2008 64 位

Visual Studio 2008 / C#:如何在项目中查找死代码?

Visual Studio 2008 64 位部署项目未按预期部署 64 位 VC90 合并模块