有时候,我们使用 VS(Visual Studio)编译程序时会出现“无法查找或打开PDB文件”的提示,并且此时程序会生成失败,无法运行,如下图所示:

大家不要惊慌,出现这种提示并不是代码写错了,而是编译器设置的问题,改一下设置就 OK 了。
先说一下PDB文件是什么
当程序在 VS 上编译时,程序所依赖的所有动态链接库(dll 文件)也会被编译,编译过程中每个 dll 都会产生一个pdb文件,又称为“符号文件”,是一个存储数据的信息文件,其包含 dll 库在编译过程的某些调试信息,例如程序中所用到的全局变量、局部变量、函数名以及他们的入口地址等。

pdb 文件主要用于调试程序,多用于当VS中有多个项目,且项目之间互有依赖关系时,使用pdb文件调试程序,往往会事半功倍,初学者一般不会用到。

当使用VS 调试程序时,会默认加载你的程序以及程序依赖的dll库产生的所有pdb文件,但是结果往往是VS自己找不到依赖库的pdb文件,于是就提示给你“无法查找或打开pdb文件”。
如何修复这个错误
我们可以通过对 VS 做适当的设置,使之能够查找到相应的 PDB 文件,具体步骤如下(这里我们以 VS2017 为例进行说明,其它版本的 VS 操作步骤也一样)。

  1. 选择菜单栏中的“调试 --> 选项”,如下图所示:

  2. 弹出“选项”对话框后,选择“调试 --> 常规”,在右侧选项栏中勾选“启用源服务器支持”(包含的 3 个子选项不用勾选),此时会弹出一个安全警报框,选择“是”即可,如下图所示:

  3. 还是在“选项”对话框中,选择“调试 --> 符号”,在右侧选项栏中勾选“Microsoft符号服务器”,此时会弹出一个提示对话框,点击“确定”即可。同时,对于缓存符号的目录,选择图示中的目录即可:

  4. 确定之后,重新运行你的程序,首次运行时,由于编译器会加载所有动态链接库的pdb文件,可能会等到几秒钟。程序运行后,之前输出窗口中的“无法查找或打开pdb文件”的提示不见了,如下图所示:

如上图所示,由于pdb文件,又名“符号文件”,所以“已加载符号”,也就是成功加载了动态链接库对应的pdb文件。

VS“无法查找或打开PDB文件”是怎么回事?如何解决相关推荐

  1. 服务器上打开pdb文件,VS“没法查找或打开PDB文件”是怎么回事?如何解决

    有时候,咱们使用 VS(Visual Studio)编译程序时会出现"没法查找或打开PDB文件"的提示,而且此时程序会生成失败,没法运行,以下图所示:缓存 你们不要惊慌,出现这种提 ...

  2. Visual Studio无法查找或打开 PDB 文件解决办法

    Visual Studio无法查找或打开 PDB 文件解决办法 用VS调试程序时,有时会在VS底部的"输出"框中提示"无法查找或打开 PDB 文件".这该怎么解 ...

  3. VS2013 编译程序时提示 无法查找或打开 PDB 文件

    "Draw.exe"(Win32):  已加载"C:\Users\YC\Documents\Visual Studio 2013\Projects\Draw\Debug\ ...

  4. 成功解决(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。

    成功解决(Win32): 已加载"C:\Windows\SysWOW64\ntdll.dll".无法查找或打开 PDB 文件. 目录 解决问题 解决方法 解决问题 解决方法 工具栏 ...

  5. visual studio 调试时提示 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。

    问题描述 "Win32Project3.exe"(Win32): 已加载"D:\software\VS2013\VS2013 文档\Win32Project3\Debug ...

  6. 解决“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件问题

    解决"C:\Windows\System32\ntdll.dll".无法查找或打开 PDB 文件问题 参考文章: (1)解决"C:\Windows\System32\nt ...

  7. (项目名).exe”。已加载符号。 无法查找或打开 PDB 文件。

    无法查找或打开 PDB 文 "wb.exe"(Win32):  已加载"D:\work\test\wb\x64\Debug\wb.exe".已加载符号. &qu ...

  8. 解决方案:“Project1.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。

    解决方案:"Project1.exe"(Win32): 已加载"C:\Windows\SysWOW64\KernelBase.dll".无法查找或打开 PDB ...

  9. “Project1.exe”(Win32): 已加载“C:\Windows\syswow64\ntdll.dll”。无法查找或打开 PDB 文件。 “Project1.exe”(Win32): 已加载

    "Project1.exe"(Win32): 已加载"C:\Windows\syswow64\ntdll.dll".无法查找或打开 PDB 文件. " ...

最新文章

  1. 第十二届西南石油大学程序设计新生赛官方题解
  2. [31期] 第一个项目结束之际--俺很高调但很真诚地感谢一个人--涛爷
  3. java统计多个线程的请求次数_Web并发页面访问量统计实现
  4. linux服务器探针软件,服务器安装ServerStatus监控探针教程
  5. 集成JavaFX和Swing(修订版)
  6. CentOS下的Mysql的安装和使用
  7. linux服务器进程不存在,查看 Linux 服务器的进程
  8. Python批量导入图片生成PowerPoint 2007+文件
  9. html 拦截境外ip,Windows服务器系统怎么屏蔽国外IP的访问
  10. 【转】极品免费网站空间申请:000webhost.com免费1.5G美国空间PHP+MySQL
  11. HDU——5053 the Sum of Cube
  12. 使用ps 制作gif 动图
  13. 【python】报错:OSError: [Errno 30] Read-only file system
  14. 用命令设置 ip 地址
  15. UE4 创建地形失败:Unreal Engine 4 Crash Reporter
  16. 微生物群也有记忆 | 微生物群能被“训练”
  17. 在html中如何画斜线,在CSS中绘制斜线
  18. 在Textview中获取指定文字位置(兼顾网址链接和emoji表情),并在其附近展示图片
  19. ubuntu 16.04.4 desktop版安装
  20. 计算机毕业设计之java+javaweb的电动车实名制挂牌管理系统

热门文章

  1. 【真人手势动画制作软件】万彩手影大师教程 | 添加动作动画
  2. 关于“人人网”的需求分析
  3. 优易U盘加密软件(U盘加密精灵)与U盘加密器对比
  4. 密码学系列(三):区块链+密码学基础知识
  5. js混淆算法 java_JAVA动态混淆JS
  6. 基于微信小程序的教室管理系统_北邮信通院大二下程序设计综合实验
  7. 加密解密数字证书相关知识
  8. 流水账——12.15
  9. 兆易创新笔试(5题)
  10. 品牌网站网站建设方案