当我们使用Visual Studio调试器时,输出窗口可能会出现以下信息:
“.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。
“.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。无法查找或打开 PDB 文件。
“.exe”(Win32): 已加载“C:\Windows\SysWOW64\KernelBase.dll”。无法查找或打开 PDB
文件。 “exe”(Win32): 已加载“C:\Windows\SysWOW64\apphelp.dll”。无法查找或打开 PDB
文件。 “.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcp140d.dll”。无法查找或打开 PDB
文件。 “.exe”(Win32): 已加载“C:\Windows\SysWOW64\vcruntime140d.dll”。无法查找或打开
PDB 文件。 “.exe”(Win32): 已加载“C:\Windows\SysWOW64\ucrtbased.dll”。无法查找或打开
PDB 文件。 线程 0x1e1c 已退出,返回值为 0 (0x0)。 “.exe”(Win32):
已加载“C:\Windows\SysWOW64\kernel.appcore.dll”。无法查找或打开 PDB 文件。
“.exe”(Win32): 已加载“C:\Windows\SysWOW64\msvcrt.dll”。无法查找或打开 PDB 文件。
“.exe”(Win32): 已加载“C:\Windows\SysWOW64\rpcrt4.dll”。无法查找或打开 PDB 文件。 线程
0x3e88 已退出,返回值为 0 (0x0)。 线程 0x2d40 已退出,返回值为 0 (0x0)。 程序“[5180]
*.exe”已退出,返回值为 0 (0x0)。
不用惊慌,这些不是报错信息,这些只是列出了已经加载的各种可执行文件和动态链接库(dll),以及是否找到了包含调试符号信息的PDB文件。通常应用程序的PDB文件都会找到的,就只是运行时的PDB文件和系统dll会出现找不到的情况。除非计划调试系统dll,否则根本不需要它们的PDB文件,应该忽略这些消息。
程序已退出,返回值为0代表状态一切正常,如果是C++程序,直接忽略即可。如果是Fortran程序,需要在第一行打上断点,继续执行。需要更多帮助可以参考Intel官方说明:https://software.intel.com/content/www/us/en/develop/articles/visual-studio-debugger-cannot-find-or-open-the-pdb-file.html