调试 MFC:“mfc100.dll”找不到或打开 pdb

2024-02-19

我正在尝试在调试时进入 MFC 源代码。但是,Visual Studio 显然在加载适当的符号时遇到问题:

C:\WINDOWS\symbols\dll\mfc100.i386.pdb: PDB 与图像不匹配。

我检查了其他问题,通常建议启用“符号服务器”。但这并没有帮助,因为它似乎只下载了一个最小的 PDB 文件(~2 MB),而不是一个实际上使您能够单步进入源代码的 PDB 文件(~20 MB)。

根据无法加载 mfc100.dll 的符号 http://social.msdn.microsoft.com/Forums/vstudio/en-US/119bfcea-eceb-4680-85d1-f004c4438673/cannot-load-symbols-for-mfc100dll-version-1003031901?forum=vcgeneral我应该从下载完整的符号包http://msdn.microsoft.com/en-us/windows/hardware/gg463028 http://msdn.microsoft.com/en-us/windows/hardware/gg463028。我这样做了,但它也没有帮助,因为这个包实际上根本不包含 mfc100.dll 的符号。

我尝试的下一步是从另一个系统复制 PDB 文件。在我的本地 Win7 操作系统上,我有一个 2011 年 6 月 10 日的 mfc100.i386.pdb (24.708 KB)。在我调试的系统上,我有 2010 年 3 月 18 日的 mfc100.i386.pdb (23.732 KB)。但两者都“与图像不匹配”。

那么我应该从哪里获取正确且完整的符号文件呢?

操作系统:Windows 8 x86。 Visual Studio 2013 与 VS 2010 C++ 项目。 mfc100.dll版本:10.00.40219.01

WinDbg !sym noisy output:

************* Symbol Path validation summary **************
Response                         Time (ms)     Location
OK                                             C:\Windows\symbols\dll
DBGHELP: Symbol Search Path: c:\windows\symbols\dll
DBGHELP: Symbol Search Path: c:\windows\symbols\dll
0:000> .reload
Reloading current modules

DBGHELP: c:\windows\symbols\dll\mfc100.i386.pdb - mismatched pdb
DBGHELP: c:\windows\symbols\dll\dll\mfc100.i386.pdb - file not found
DBGHELP: c:\windows\symbols\dll\symbols\dll\mfc100.i386.pdb - file not found
DBGHELP: C:\WINDOWS\SYSTEM32\mfc100.i386.pdb - file not found
DBGHELP: mfc100.i386.pdb - file not found
DBGHELP: Couldn't load mismatched pdb for C:\WINDOWS\SYSTEM32\mfc100.dll
*** ERROR: Module load completed but symbols could not be loaded for C:\WINDOWS\SYSTEM32\mfc100.dll
DBGHELP: mfc100 - no symbols loaded

************* Symbol Loading Error Summary **************
Module name            Error
mfc100                 PDB not found : c:\windows\symbols\dll\symbols\dll\mfc100.i386.pdb
                Unable to locate the .pdb file in this location

正如本节中所解释的MSDN 帖子 http://social.msdn.microsoft.com/forums/vstudio/en-US/2792e510-e156-4a99-9d7b-d42c77122dd4/mismatch-between-the-pdb-and-the-dll-for-msvcr100dll(由 Crescens2k 提供)-

这些符号应该与 VS 使用的版本相匹配,因此如果您安装的 VC redist 版本比 VS 当前使用的版本更新,它们可能会不同步。 在VS2010安装的VC目录下检查CRT的版本。那里应该有一个 redist 目录,其下是 CRT。检查这些文件的版本,看看它们是否与您的system32目录中的文件版本相同。这些通常应该匹配。如果没有,请检查 VS 的更新。最新版本应为 10.0.40219.325,因此请确保 VS 已更新为可以使用该版本。

然后 -

...尝试手动应用 MFC 安全更新。 ...看看是否可以解决所有问题。

令人高兴的是,使用 WinDbg 工具,您可以将问题定位到不匹配的符号,并且经验丰富的程序员 (Crescens2k) 的建议帮助解决了来自“DLL 地狱”的版本不匹配这一令人痛苦的丑陋问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调试 MFC:“mfc100.dll”找不到或打开 pdb 的相关文章

  • codecvt 不是 std 标头吗?

    此代码使用 Visual C 11 进行编译 并在 Windows 7 上按预期运行 但无法使用 Windows 7 上的 MinGW 4 7 0 或 Linux 上的 gcc 4 8 0 进行编译 编译用 std c 11 flag in
  • 为什么 Visual Studio 2019 不会运行我的单元测试?

    我在 VS2019 中看到 NUnit 测试的一些非常奇怪的行为 而相同的解决方案在 VS2017 中运行良好 我的脑海里有几个 NUnit 测试项目 在安装了 NUnit Runner 扩展的 VS2017 中 我可以在 测试资源管理器
  • 了解 Windows 8 上的文件何时发生更改

    我知道 FileSystemWatcher 类在 Windows 8 上不起作用 为什么在 Windows 7 上检测到 FileSystemWatcher 属性更改 而在 Windows 8 上检测不到 https stackoverfl
  • 从 C++ 中的 std::string 获取字节

    我正在一个 C 非托管项目中工作 我需要知道如何获取像 一些要加密的数据 这样的字符串并获取一个 byte 数组 我将用它作为加密的源 在 C 中我做 for int i 0 i lt text Length i buffer i byte
  • 如何使用 Moq 模拟 Web 服务调用?

    The using下面点击了我不想实际点击的外部资源 我想测试someResult以及使用它的代码 但每次我运行单元测试时 该代码仍然尝试访问真正的 Web 服务 如何使用最小起订量来伪造对 Web 服务的真实调用 但不模拟使用中的其余代码
  • 如何BSWAP 64位寄存器的低32位?

    我一直在寻找如何将 BSWAP 用于 64 位寄存器的低 32 位子寄存器的答案 例如 0x0123456789abcdef位于 RAX 寄存器内 我想将其更改为0x01234567efcdab89用一条指令 因为性能 所以我尝试了以下内联
  • 从命名管道读取

    我必须实现一个 打印服务器 我有 1 个客户端文件和 1 个服务器文件 include
  • Windows 10 ScrollIntoView() 不会滚动到列表视图中间的项目

    我有一个包含 20 个项目的列表视图 我想以编程方式滚动列表视图 ListView ScrollIntoView ListView Items 0 将滚动列表视图到第一项 ListView ScrollIntoView ListView I
  • 将数据表传递给存储过程

    我有一个用 C 创建的数据表 using DataTable dt new DataTable dt Columns Add MetricId typeof int dt Columns Add Descr typeof string dt
  • WPF 应用程序在每个系统规模上具有相同的大小(与规模无关)

    有没有办法让 WPF 应用程序在每个系统规模上获得相同的大小 当我改变时更改文本 应用程序和其他项目的大小在windows系统设置中125 推荐 to 100 在全高清屏幕中 我的 WPF 应用程序变得太小 为了实现独立的系统缩放应用程序
  • Qt 信号槽,新符号中的转换类型[重复]

    这个问题在这里已经有答案了 鉴于以下两个 connect ui gt comboBox SIGNAL activated QString ps SLOT requestPlotsAvailable QString connect ui gt
  • 使用资源文件进行本地化不起作用

    我添加了新的 Rosource 文件 UserNotification resx 然后我添加了两个文件进行本地化 并将其命名为 UserNotification hr HR resx 和 UserNotification sl SI res
  • 执行按钮单击时使 wpf UI 响应

    在我的 wpf c 应用程序中 当用户按下按钮时会执行一个很长的过程 当按下按钮直到执行完整的代码时 窗口将冻结 用户无法在窗口中执行任何其他任务 如何使按钮单击代码作为后台进程 以便窗口响应用户 我尝试过以下方法 但没有成功 privat
  • 私有静态方法有必要吗?

    原理工程师 https stackoverflow com users 201787 metal在我上一家公司有一条规则private static方法应该作为实现文件中的函数实现 而不是作为类方法 我不记得他的规则是否有任何例外 我在目前
  • 无法加载文件或程序集“SharpSvn”或其依赖项之一。尝试加载格式不正确的程序

    我刚刚在这里下载了 64 位版本的 SharpSVNthe link http sharpsvn open collab net files documents 180 5570 SSvn 1 7002 1998 x64 zip 当我运行我
  • 从 C++ 检索 Python 类型

    这个问题实际上是以下两个问题的延伸 如何在 Python 中实现 C 类 以供 C 调用 https stackoverflow com questions 9040669 how can i implement a c class in
  • 升压参数库

    最近我发现参数 http www boost org doc libs 1 50 0 libs parameter doc html index htmlBoost 中的库 老实说 我不明白为什么这是 Boost 的一部分 当需要向函数传递
  • 如何只应用一种 clang-format 操作?

    我想用clang 格式调整我的评论 但仅此而已 选项是 AlignTrailingComments bool 但是当我运行以下命令时 clang format 3 6 i style AlignTrailingComments true
  • 文件/文件夹结构的递归搜索

    我正在尝试为返回文件和文件夹列表的 Web 服务构建递归搜索功能 我创建了这两个方法 因此它们充当递归搜索 它首先获取顶级内容 然后将任何文件添加到 fileList 并将任何子文件夹添加到 subFoldersList 我们传入访问级别
  • 如何从 dll 导出 C++ 类? [复制]

    这个问题在这里已经有答案了 我有一个有两个重载函数的类 如何从 dll 导出它以及如何由其他 C 类使用它 我的班级是这样的 define DECLDIREXP declspec dllexport define DECLDIRIMP de

随机推荐

  • C++ const char* 和 const char[] 之间的区别

    我读到一个关于以下之间区别的问题 const char and const char 有一段时间 我认为数组只是指针的语法糖 但有些事情困扰着我 我有一段类似于以下内容的代码 namespace SomeNamespace const ch
  • 当用户单击 Qt 应用程序中的任务栏/停靠栏图标时获取事件或通知

    我正在 osx windows linux 上开发应用程序 我想制作像 Skype 这样的功能 当用户单击关闭窗口时 应用程序不会退出而是隐藏 当用户单击扩展坞或任务栏上的应用程序图标时 我的主窗口将再次重新打开 当用户单击应用程序图标时
  • Java BufferedWriter 关闭()

    假设我有以下代码片段 operation1 bw close operation2 当我打电话时BufferedReader close 从我的代码中 我假设我的 JVM 进行了一个系统调用 以确保缓冲区已被刷新并写入磁盘 我想知道是否cl
  • 如果 Python 是解释型的,那么 .pyc 文件是什么?

    Python 是一种解释型语言 但为什么我的源目录包含 pyc文件 Windows 将其识别为 编译的 Python 文件 我已经明白了 Python 是一种解释型语言 这种流行的模因是不正确的 或者更确切地说 是建立在对 自然 语言水平的
  • Prisma - 如何将两个字段指向同一模型?

    我很难概念化如何处理这个问题 我仔细研究了 Prisma 文档和其他 SO 问题 但它们似乎都与这种情况略有不同 我有两个模型 model User id Int id default autoincrement firstName Str
  • 如何对 Jackson JsonSerializer 和 JsonDeserializer 进行单元测试

    我为我的应用程序编写了自定义 JsonSerializer 和 JsonDeserializer 现在我想为它们编写一些单元测试 一个干净的测试用例应该是什么样的 有一些干净的例子吗 干净意味着不依赖其他框架或库 Json序列化器 该示例正
  • AppendTargetFrameworkToOutputPath 在 .targets 文件中失败

    我正在尝试集中许多项目的一些构建配置 而 MSBuild 解决方案是使用 targets files https learn microsoft com en us visualstudio msbuild msbuild dot targ
  • 在 django 中通过拖放对项目进行排序

    在我的 django 项目中 我在模板中显示了书籍列表 Book型号有position我用来对书籍进行排序的字段 我试图通过拖放列表项对该列表进行排序 但我的下一个代码不能很好地工作 我用jQuery 用户界面 它在前端工作 但当用户拖放列
  • 将文本区域保存到文件

    是否可以将文本区域保存到文件中 FileWriter fw new FileWriter file1 getAbsoluteFile true BufferedWriter bw new BufferedWriter fw bw write
  • 来自一组键的 PHP 数组

    发现这篇文章对我有帮助 拆分字符串以形成多维数组键 https stackoverflow com questions 10519108 split a string to form multidimensional array keys
  • 给定一个字符串,找到元音和辅音数量相同的最长子串?

    给定一个字符串 找到元音和辅音数量相同的最长子串 澄清 我不确定我们是否可以生成一个新字符串 或者子字符串必须是原始字符串的一部分 到目前为止我有这个 代码片段 Scanner scanner new Scanner System in S
  • R 的丰富 Ctags

    是否有任何使用记录ctags http ctags sourceforge net 与 R 这有用吗 实施起来会不会很困难 具体来说 我刚刚开始使用 Vim 如果能够在一个文件中编写 R 函数 在另一个文件 例如 Rnw 文件 测试文件或其
  • 为什么 PayPal 的 IPN 模拟器不能使用 https 地址?

    在 PayPal 的 IPN 模拟器中 如果我输入 https URL 则会收到一条错误消息 很抱歉 我们无法发送 IPN 但是 在 http URL 上它工作正常 我该如何解决这个错误 这可能是因为您的 SSL 证书是自签名的或被 Pay
  • Java Calendar.DAY_OF_WEEK 给出了错误的日期

    下面的代码有什么问题 对于一年中的任何日期 它给出的日期都是错误的 import java util Scanner import java util Calendar public class Solution public static
  • 请求在 chrome 中偶尔会停滞很长时间

    Ajax 请求有时会在 Chrome 中长时间停滞 我终于成功地复制了它并保存了所有必要的相关数据 如果有人可以帮助我的话 可以在这里发布 The timeline from Chrome Dev Tool shows the reques
  • JavaScript ArrayBuffer 切片在 Safari 9.1.2 中明显损坏

    Safari 9 1 2 10601 7 7 中的基本 JavaScript 功能似乎被破坏 也许我只是做错了什么 正在寻求有关如何度过这一切的建议 有问题的函数是ArrayBuffer prototype slice https deve
  • llvm/clang 编译错误,内存耗尽

    我正在尝试在我的 ubuntu 14 04 虚拟机 具有 2GB 内存 上构建最新的 llvm clang 代码 我所做的是正常的配置 制作过程 这两个命令没有任何参数 最后 我有以下错误 llvm 4 链接 Debug Asserts 可
  • 如何使用 laravel 5.1 使用更新记录的 user_id 填充 modded_by ?

    使用 Laravel 5 1 时 我尝试创建一个观察者 它将自动更新以下 3 列 created by 当创建的记录 不再更新 时填充 Modified by 每次修改记录时填充新值 purged by 软删除记录时填充一个值 我知道 El
  • 尽管有 SecurityConfig,Spring Security 仍会阻止 POST 请求

    我正在开发一个基于 Spring Boot 的 REST API spring boot starter web 我使用Spring Security spring security core e spring security confi
  • 调试 MFC:“mfc100.dll”找不到或打开 pdb

    我正在尝试在调试时进入 MFC 源代码 但是 Visual Studio 显然在加载适当的符号时遇到问题 C WINDOWS symbols dll mfc100 i386 pdb PDB 与图像不匹配 我检查了其他问题 通常建议启用 符号