gpt4 book ai didi

c++ - "No Debugging Information",然而,它就在那里

转载 作者:行者123 更新时间:2023-11-30 05:40:37 27 4
gpt4 key购买 nike

我在 MSVS 2013 中有一个 C++ 项目,它在调试时会导致问题:每当我运行调试 session 时,都会出现一个消息框,提示“没有调试信息——‘xy.exe’的调试信息不​​能找到或不匹配。找不到 PDB 文件。要继续调试吗?这是一个常见问题,这个问题被问了好几次,但是,到目前为止,我找到的答案都不适用于我的情况。

  1. 项目属性 -> 配置属性 -> C/C++ ->优化 -> 优化已禁用
  2. Project Properties -> Configuration Properties -> Linker -> Debugging -> Generate Debug Info 开启
  3. 路径和文件名正确; Project Properties -> Configuration Properties -> Linker -> Debugging -> Generate Program Database File is "$(OutDir)$(TargetName).pdb"(输出文件为 "$(OutDir)$(TargetName)$(TargetExt)",所以这里也没有配置错误)
  4. 我尝试手动删除文件、重新启动 Visual Studio、清理和重建。从文件时间戳来看,确实是刚刚创建的 PDB 文件,exe 和 pdb 都构建到同一个文件夹,并且命名正确。
  5. 有人建议仔细检查任务管理器,看看 devenv.exe 是否仍在后台运行——确实如此。我杀了它,删除了 PDB 文件,重新启动,清理,重建,没有运气。
  6. 我将启动项目切换到另一个项目,然后又切换回来,正如海报所建议的 [1]。运气不好。
  7. 有人报告说当主项目的本地 PDB 文件与整个可执行文件的最终 PDB 文件同名时会出现此问题 [2]。这里不是这种情况。
  8. 当我打开模块窗口 [3] 时,我看到我的 exe 在“符号状态”列中显示“无法找到或打开 PDB”文件。当我尝试右键单击 -> 加载符号时,我看到它们就在那里(例如 xy.pdb 代表 xy.exe)。当我选择它们时,会出现一个消息框,提示“在此文件夹中未找到加工符号文件。”

有趣的是,此解决方案中的所有项目均无效。但是,其他项目可以正常工作。我尝试将项目属性中的每个设置与有效的设置进行比较,但我找不到任何差异。

还有什么想法吗?

[1] https://stackoverflow.com/a/15378106/4508058

[2] https://stackoverflow.com/a/21640745/4508058

[3] https://stackoverflow.com/a/540599/4508058

最佳答案

好的,给 future 的读者一个提示:现在它终于可以工作了。我注意到该项目与另一个项目共享它的中间目录。然而,只是改变这个,清理,重建,甚至手动删除中间目录都没有帮助。但是在一些构建之后它终于起作用了,所以它可能与它有关(?)。所以我没有解决问题的绝对方法,但也许它会有所帮助。

虽然我有时仍然会遇到我在上面的评论中提到的链接器错误(LNK1209:程序数据库'D:\work-coding-\Projects\vrtheater\LoadingApp\bin\LoadingAppD.pdb')所以仍然可能有什么不对...

关于c++ - "No Debugging Information",然而,它就在那里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31543870/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com