首页 > 其他分享 >VS编译时提示“无法查找或打开 PDB 文件”的解决方法

VS编译时提示“无法查找或打开 PDB 文件”的解决方法

时间:2022-08-16 18:12:03浏览次数:59  
标签:文件 VS pdb 编译 查找 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 操作步骤也一样)。1) 选择菜单栏中的“调试 --> 选项”,如下图所示:

 

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

 

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

 

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

 

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

标签:文件,VS,pdb,编译,查找,PDB
From: https://www.cnblogs.com/tsingke/p/16592462.html

相关文章

  • VS2019 git 提交忽略生成文件
    由于首次将代码移交至gitee时,没有注意,将一堆生成文件都提交到了码云上,如debug、release下的文件等等。提交时需要将这些文件忽略掉,那么应该怎么做呢?一、通过VS2019添加.g......
  • vscode comment translate失效问题
    TranslateError:CheckOutputPannelfordetails查了一圈,换翻译源也没用,最终查到了:在官网下载的vscode的版本应该是VSCodeSetup-x64-x.xx.x而不是VSCodeUserSetup-x64......
  • 改变VS下栈的空间大小
    步骤:项目->属性->连接器->系统->堆栈保留大小->输入大小按确定保存     -----------------#pragma comment(linker, "/STACK:1024000000,1024000000")/STAC......
  • 查找所有匹配的字符串
    可以通过循环调用indexOf()来查找所有匹配的字符串,如下面的例子:varstringValue="Helloword!";varposition=newArray();varpos=stringValue.indexOf("o")whi......
  • C#-OpenCvSharp查找遍历轮廓范围内的点
    privateMatGoFindContours(Matmat,stringname,outMat[]countoursMat){countoursMat=null;MatuseLessMat=newMat();MatGray;MatBgr;......
  • VS Code常用插件
    VSCode常用插件一、插件的下载打开VScode之后点击右侧带有小方块的图标在上方的输入框中输入想要下载的插件的名称即可二、插件的种类Chinese(Simplified)Langu......
  • vscode打开自动显示cli.js
    最近打开vscode自动弹出cli,js  我去官网上查 https://github.com/microsoft/vscode/issues/91613发现是我之前在兼容性里面设置了以管理员打开vscode导致的  ......
  • Python3 virtual environment 在 vscode 的实践
    1、虚拟环境实际上就是将python解释器+项目中可能用的的modules,统一放在虚拟环境对应的目录2、activate虚拟环境,只是保证相关module下载到对应文件夹中,而不是说pyth......
  • VMware虚拟化与云计算:vSphere运维卷 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1gDGDLHf0Hu_7nuh0uZOrTw点击这里获取提取码。 ......
  • 查找用户账户禁用
    在工作中,有时候我们需要查看用户是什么时候被禁用或者启用的。通常在域控制器上的安全日志中查找就可以了。但是如果域控比较多的话,一台台去查找就很费时间了。如果能够定......