VS2012每次编译程序,都会出现3个无法查找或打开PDB文件,是设置错误造成的,解决方法如下:
1、首先在电脑中打开vs编程软件,在菜单栏上找到“工具”---》“选项”。
2、然后在打开的选项设置界面中,找到调试的功能选项。
3、在调试的选项里,展开后,可以看到调试符号的子选项。
4、在右边可以看到“符号文件(.pdb)的位置”的字样,给“MicroSoft符号服务器”打勾,如下图所示,点击确定保存退出。
5、最后在主界面,可以看到正在从microsoft服务器下载.pdb符号文件,vs也正在加载这些符号文件,等待一会就完成了。
百度知道vs2017,运行时出现"未找到image.cpp,已引发...展开
查看全部1个回答
匿名用户
有时候,我们使用 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) d出“选项”对话框后,选择“调试 -->常规”,在右侧选项栏中勾选“启用源服务器支持”(包含的 3 个子选项不用勾选),此时会d出一个安全警报框,选择“是”即可,如下图所示:
3) 还是在“选项”对话框中,选择“调试 -->符号”,在右侧选项栏中勾选“Microsoft符号服务器”,此时会d出一个提示对话框,点击“确定”即可。同时,对于缓存符号的目录,选择图示中的目录即可:
4) 确定之后,重新运行你的程序,首次运行时,由于编译器会加载所有动态链接库的pdb文件,可能会等到几秒钟。程序运行后,之前输出窗口中的“无法查找或打开pdb文件”的提示不见了,如下图所示:
如上图所示,由于pdb文件,又名“符号文件”,所以“已加载符号”,也就是成功加载了动态链接库对应的pdb
一句话:调试程序用
详细点(copy过来的,将就着看吧):
visual
studio
调试需要pdb文件
在vs2005中新建了一个解决方案配置,但输出的dll去不能调试
原来是vs在生成dll时没有生成pdb文件,msdn上对pdb文件的描述是:
DBG
文件是可移植可执行
(PE)
格式文件,该文件包含
Visual
Studio
调试器的
Codeview
格式的调试信息(也可能是其他格式,视
DBG
的创建方式而定)。当没有某些代码的源(如库或
Windows
API)时,DBG
文件允许调试。DBG
文件还允许执行
OLE
RPC
调试。
DBG
文件已经由
PDB
文件替代,PDB
文件现在更常用于调试。
但是怎么生成pdb文件呢,命令行命令是/DEBUG
如何让vs在生成dll时一并生成pdb文件,需要设置对应项目的调试信息为full或pdb-only,当设为none时就不生成pdb文件了
项目调试信息的设置位置在:项目属性>生成>高级>调试信息
不过这种东西知不知道无所谓,微软做事就是这样,用着很方便,但你一旦要研究,就会发现他生成的东西多得跟shi一样的,看着都dan疼......
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)