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 操作步骤也一样)。

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

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

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

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

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

原文地址:https://www.cnblogs.com/HGNET/p/11741499.html

时间: 2024-10-01 09:24:12

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

vs调试时底部输出调试信息“无法查找或打开 PDB 文件”解决办法

用VS调试程序时,有时会在VS底部的“输出”框中提示“无法查找或打开 PDB 文件”.这该怎么解决呢? 下面,我们以VS2013为例,来教大家解决办法. 工具/原料 VS 方法/步骤 打开VS2013,点击菜单“工具”-“选项”.   在选项窗口中,展开“调试”-“常规”,然后在右边的窗格中勾选“启用源服务器支持”.   然后展开“调试”-“符号”,勾选“Windows符号服务器”.   这时,会弹出一个警告对话框,无视点击“确定”即可.   最后,点击“确定”关闭选项窗口.   下面,我们再来

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

Visual Studio无法查找或打开 PDB 文件解决办法 用VS调试程序时,有时会在VS底部的“输出”框中提示“无法查找或打开 PDB 文件”.这该怎么解决呢? 下面,我们以VS2013为例,来教大家解决办法. 方法/步骤 1 打开VS2013,点击菜单“工具”-“选项”. 2 在选项窗口中,展开“调试”-“常规”,然后在右边的窗格中勾选“启用源服务器支持”. 3 然后展开“调试”-“符号”,勾选“Windows符号服务器”. 4 这时,会弹出一个警告对话框,无视点击“确定”即可. 5 最

无法查找或打开 PDB 文件解决办法

在 Visual Studio 调试器中指定符号 (.pdb) 和源文件 https://technet.microsoft.com/zh-cn/library/ms241613.aspx?f=255&MSPPError=-2147217396 无法查找或打开 PDB 文件解决办法 打开VS2013,点击菜单“工具”-“选项”. 2 在选项窗口中,展开“调试”-“常规”,然后在右边的窗格中勾选“启用源服务器支持”. 3 然后展开“调试”-“符号”,勾选“Windows符号服务器”. 4 这时,会

[VS2012] 无法查找或打开 PDB 文件

http://www.cnblogs.com/southernduck/archive/2012/11/23/2784966.html 用VS2012调试一个控制台程序的时候,出现一下提示信息: “wrt2txt.exe”(Win32): 已加载“F:\Users\Young\Documents\visual studio 2012\Projects\wrt2txt\Debug\wrt2txt.exe”.已加载符号.“wrt2txt.exe”(Win32): 已加载“C:\Windows\Sys

“无法查找或打开 PDB 文件 ”

VS2012生成项目报错: “Draw.exe”(Win32):  已加载“C:\Users\YC\Documents\Visual Studio 2013\Projects\Draw\Debug\Draw.exe”.已加载符号. …… “Draw.exe”(Win32):  已加载“C:\Windows\System32\profapi.dll”.无法查找或打开 PDB 文件. 程序“[5036] Draw.exe”已退出,返回值为 0 (0x0). 解决方法:

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

这些提示的问题完全没有必要去理会,因为一般情况下你点击本地windows调试,会报出这样问题很正常. 网上一些介绍什么要去选项卡栏勾选window连接器什么鬼,不建议用该方式,一旦你勾选那个方式虽然不会出现报错这个“C:\Windows\System32\ntdll.dll”.无法查找或打开 PDB 文件问题,但是你整个程序会运行的异常卡,而且很久.所以千万别轻易尝试. 你只要选择不是调试的方式编程就可以:1,用ctrl+F5快捷就可以了:2,直接用F5. 运行成功.

vs2013运行c语言出现:无法查找或打开 PDB 文件。

vs2013运行c语言出现:无法查找或打开 PDB 文件. “ConsoleApplication1.exe”(Win32): 已加载“C:\Users\hp\Documents\Visual Studio 2013\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe”.已加载符号. “ConsoleApplication1.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”.无法查找或

vs2012 输出窗口报错 “无法查找或打开 PDB 文件”

一.背景       今天在使用vs2012 进行调试win32对话框程序时,在输出窗口输出了一些错误          已加载"C:\Windows\SysWOW64\ntdll.dll".无法查找或打开 PDB 文件.         已加载"C:\Windows\SysWOW64\kernel32.dll".无法查找或打开 PDB 文件.         ......         已加载"C:\Windows\SysWOW64\KernelBas

Visual Studio "无法查找或打开PDB文件"解决方法

   1.问题: 使用C#语言时遇到的问题(C/C++类似,方法一致),我用qt和VS2013也遇到这种问题 编译链接都没问题,调试时出现以下错误提示:      2.解决方法 第一步: 第二步:[调试]-->[选项和设置] 第三步:[常规]标签-->勾选"启用资源服务器支持",确定 第四步:忽略警报,继续.切换到[符号]标签,勾选"Microsoft 符号服务器" 忽略安全警报,[确定].至此,上述问题解决. 若以上方法仍然未能解决问题,揍M$去吧.