【问题标题】:'cannot find or open the pdb file' Visual Studio C++ 2013'找不到或打开 pdb 文件' Visual Studio C++ 2013
【发布时间】:2015-04-07 12:22:29
【问题描述】:

我刚刚下载了 VS 2013 社区版并编写了我的第一个应用程序。当我运行它时,它会显示在输出部分:

'ConsoleApplication1.exe' (Win32): Loaded 'C:\Users\Toshiba\Documents\Visual Studio 2013\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe'. Symbols loaded.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Cannot find or open the PDB file.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Cannot find or open the PDB file.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Cannot find or open the PDB file.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\System32\msvcp120d.dll'. Cannot find or open the PDB file.
'ConsoleApplication1.exe' (Win32): Loaded 'C:\Windows\System32\msvcr120d.dll'. Cannot find or open the PDB file.
The program '[11196] ConsoleApplication1.exe' has exited with code 0 (0x0).

有什么问题?我在许多网站上检查了我的代码,所以我知道问题不在我的代码中。谁能帮我?

【问题讨论】:

标签: visual-studio visual-studio-2013 c++builder


【解决方案1】:

尝试转到工具->选项->调试->符号并选中“Microsoft符号服务器”复选框,Visual Studio将自动下载PDB。

PDB 是 Visual Studio 使用的调试信息文件。这些是 系统 DLL,您没有调试符号。[...]

Cannot find or open the PDB file in Visual Studio C++ 2010

【讨论】:

  • 我使用这个答案为我的 Qt 5.6.1-1 框架的 ARM 构建添加了一个路径,并在完全支持 Qt 符号的情况下追踪了崩溃的根本原因。
  • Tools > Options > Debugging > Symbols > Microsoft Symbol Servers 在 VS2015 中
  • @NickDesaulniers VS2017 也在那个位置。
  • 我试过了,现在VS一直问我几十个cs文件的位置,比如threadpool.cs等等。我再次取消选中它,但 VS 一直在用这个唠叨我。如何摆脱这个?
  • 从 windows sym 服务器加载符号需要花费太多时间,@GuidoG 清理并重建解决方案,不知道可能对你有用。
【解决方案2】:

没问题。您正在调试器下运行代码,而调试器告诉您它没有系统库的调试信息。

如果您真的需要它(通常用于堆栈跟踪),您可以从 Microsoft 的符号服务器下载它,但现在您不必担心。

【讨论】:

  • 你忘了这个:Tools -> Options -> Debugging -> Symbols -> enable "Microsoft Symbol Servers" -> OK
【解决方案3】:

使用 VS 2013。尝试以下操作

工具 -> 选项 -> 调试 -> 输出窗口 -> 模块加载 消息 -> 关闭

它将禁用加载模块的显示。

【讨论】:

  • 这不是解决方案。它只是禁用显示信息。
【解决方案4】:

它对我有用。转到 Tools-> Options -> Debugger -> Native 并检查 Load DLL exports。希望这会有所帮助

【讨论】:

    【解决方案5】:

    这里没有问题,这是完全正常的 - 它显示有关加载了哪些调试信息(哪些没有加载)以及您的程序正常执行和退出的信息性消息 - 零返回码表示成功。

    如果您在屏幕上看不到任何内容,请使用 CTRL-F5 而不是 F5 来运行您的程序。

    【讨论】:

      【解决方案6】:

      有点晚了,但我想我会分享以防万一它对任何人都有帮助:最有可能的问题是您的调试控制台(如果它是Windows Console Application,则在运行您的项目时打开的命令行窗口)从您上次运行代码时起仍处于打开状态。只需关闭该窗口,然后重建并运行:分别为Ctrl + BF5

      【讨论】:

        猜你喜欢
        • 2015-01-27
        • 1970-01-01
        • 2013-12-03
        • 2012-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多