VS“无法查找或打开PDB文件”是怎么回事?如何解决
有时候,我们使用 VS(Visual Studio)编译程序时会出现“无法查找或打开PDB文件”的提示,并且此时程序会生成失败,无法运行,如下图所示:
大家不要惊慌,出现这种提示并不是代码写错了,而是编译器设置的问题,改一下设置就 OK 了。
先说一下PDB文件是什么
当程序在 VS 上编译时,程序所依赖的所有动态链接库(dll 文件)也会被编译,编译过程中每个 dll 都会产生一个pdb文件,又称为“符号文件”,是一个存储数据的信息文件,其包含 dll 库在编译过程的某些调试信息,例如程序中所用到的全局变量、局部变量、函数名以及他们的入口地址等。
pdb 文件主要用于调试程序,多用于当VS中有多个项目,且项目之间互有依赖关系时,使用pdb文件调试程序,往往会事半功倍,初学者一般不会用到。
当使用VS 调试程序时,会默认加载你的程序以及程序依赖的dll库产生的所有pdb文件,但是结果往往是VS自己找不到依赖库的pdb文件,于是就提示给你“无法查找或打开pdb文件”。
如何修复这个错误
我们可以通过对 VS 做适当的设置,使之能够查找到相应的 PDB 文件,具体步骤如下(这里我们以 VS2017 为例进行说明,其它版本的 VS 操作步骤也一样)。
选择菜单栏中的“调试 --> 选项”,如下图所示:
弹出“选项”对话框后,选择“调试 --> 常规”,在右侧选项栏中勾选“启用源服务器支持”(包含的 3 个子选项不用勾选),此时会弹出一个安全警报框,选择“是”即可,如下图所示:
还是在“选项”对话框中,选择“调试 --> 符号”,在右侧选项栏中勾选“Microsoft符号服务器”,此时会弹出一个提示对话框,点击“确定”即可。同时,对于缓存符号的目录,选择图示中的目录即可:
确定之后,重新运行你的程序,首次运行时,由于编译器会加载所有动态链接库的pdb文件,可能会等到几秒钟。程序运行后,之前输出窗口中的“无法查找或打开pdb文件”的提示不见了,如下图所示:
如上图所示,由于pdb文件,又名“符号文件”,所以“已加载符号”,也就是成功加载了动态链接库对应的pdb文件。
VS“无法查找或打开PDB文件”是怎么回事?如何解决相关推荐
- 服务器上打开pdb文件,VS“没法查找或打开PDB文件”是怎么回事?如何解决
有时候,咱们使用 VS(Visual Studio)编译程序时会出现"没法查找或打开PDB文件"的提示,而且此时程序会生成失败,没法运行,以下图所示:缓存 你们不要惊慌,出现这种提 ...
- Visual Studio无法查找或打开 PDB 文件解决办法
Visual Studio无法查找或打开 PDB 文件解决办法 用VS调试程序时,有时会在VS底部的"输出"框中提示"无法查找或打开 PDB 文件".这该怎么解 ...
- VS2013 编译程序时提示 无法查找或打开 PDB 文件
"Draw.exe"(Win32): 已加载"C:\Users\YC\Documents\Visual Studio 2013\Projects\Draw\Debug\ ...
- 成功解决(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
成功解决(Win32): 已加载"C:\Windows\SysWOW64\ntdll.dll".无法查找或打开 PDB 文件. 目录 解决问题 解决方法 解决问题 解决方法 工具栏 ...
- visual studio 调试时提示 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
问题描述 "Win32Project3.exe"(Win32): 已加载"D:\software\VS2013\VS2013 文档\Win32Project3\Debug ...
- 解决“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件问题
解决"C:\Windows\System32\ntdll.dll".无法查找或打开 PDB 文件问题 参考文章: (1)解决"C:\Windows\System32\nt ...
- (项目名).exe”。已加载符号。 无法查找或打开 PDB 文件。
无法查找或打开 PDB 文 "wb.exe"(Win32): 已加载"D:\work\test\wb\x64\Debug\wb.exe".已加载符号. &qu ...
- 解决方案:“Project1.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。
解决方案:"Project1.exe"(Win32): 已加载"C:\Windows\SysWOW64\KernelBase.dll".无法查找或打开 PDB ...
- “Project1.exe”(Win32): 已加载“C:\Windows\syswow64\ntdll.dll”。无法查找或打开 PDB 文件。 “Project1.exe”(Win32): 已加载
"Project1.exe"(Win32): 已加载"C:\Windows\syswow64\ntdll.dll".无法查找或打开 PDB 文件. " ...
最新文章
- 第十二届西南石油大学程序设计新生赛官方题解
- [31期] 第一个项目结束之际--俺很高调但很真诚地感谢一个人--涛爷
- java统计多个线程的请求次数_Web并发页面访问量统计实现
- linux服务器探针软件,服务器安装ServerStatus监控探针教程
- 集成JavaFX和Swing(修订版)
- CentOS下的Mysql的安装和使用
- linux服务器进程不存在,查看 Linux 服务器的进程
- Python批量导入图片生成PowerPoint 2007+文件
- html 拦截境外ip,Windows服务器系统怎么屏蔽国外IP的访问
- 【转】极品免费网站空间申请:000webhost.com免费1.5G美国空间PHP+MySQL
- HDU——5053 the Sum of Cube
- 使用ps 制作gif 动图
- 【python】报错:OSError: [Errno 30] Read-only file system
- 用命令设置 ip 地址
- UE4 创建地形失败:Unreal Engine 4 Crash Reporter
- 微生物群也有记忆 | 微生物群能被“训练”
- 在html中如何画斜线,在CSS中绘制斜线
- 在Textview中获取指定文字位置(兼顾网址链接和emoji表情),并在其附近展示图片
- ubuntu 16.04.4 desktop版安装
- 计算机毕业设计之java+javaweb的电动车实名制挂牌管理系统