有时候,咱们使用 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 个子选项不用勾选),此时会弹出一个安全警报框,选择“是”便可,以下图所示:spa

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

4) 肯定以后,从新运行你的程序,首次运行时,因为编译器会加载全部动态连接库的pdb文件,可能会等到几秒钟。程序运行后,以前输出窗口中的“没法查找或打开pdb文件”的提示不见了,以下图所示:blog

如上图所示,因为pdb文件,又名“符号文件”,因此“已加载符号”,也就是成功加载了动态连接库对应的pdb文件。编译器