VS中无法查找或打开 PDB 文件

时间:2024-04-04 07:57:55

下载完VS2013,写完代码以后,
list.exe”(Win32): 已加载“C:\Users\win\Desktop\C\list\Debug\list.exe”。已加载符号。
“list.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
“list.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。无法查找或打开 PDB 文件。
“list.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB 文件。
“list.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcr120d.dll”。无法查找或打开 PDB 文件。
程序“[11388] list.exe”已退出,返回值为 0 (0x0)。

出现了这个错误
首先我们说一下什么是PDB?
程序数据库 (PDB) 文件保存着调试和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接。当用 /ZI 或 /Zi 编译 C/C++ 程序时或用 /debug 编译 Visual Basic/C#/JScript .NET 程序时将创建 PDB 文件。
在 Visual C++ 中,/Fd 选项用于命名由编译器创建的 PDB 文件。当在 Visual Studio 中使用向导创建项目时,/Fd 选项被设置为创建名为 project.PDB 的 PDB 文件。

下面我们来介绍解决方案(以中文版的VS2013为例)
方案一:
1、打开vs2013,点击菜单栏中的“工具”,找到选项
2、在选项中,展开调试,打开常规,在右边的窗口中选中“启用源服务器支持”,这时会出现一个安全警报,点击“是”即可。
3、展开调试,打开符号,勾选“Microsoft符号服务器”,弹出警告,点击确定即可
4、运行代码。此时会从Windows服务器上下载相关的符号集,这需要一点时间。
可能出现的问题:根本没有什么用,还是会出现上述的错误。说明可能不是这个问题,下面我们看方案二。

方案二:
直接在main函数手动加暂停语句即可。system(“pause”);
VS2013中无法查找或打开 PDB 文件

如果解决了可能是命令窗口一闪而过而导致的问题。如果觉得麻烦,点击项目-属性-配置属性-链接器-系统-子系统”,点击“子系统”左边,选择“/SUBSYSTEM:CONSOLE”。然后按“确定”后,再次运行即可解决。