我在调试 Visual Studio 2008 C++ 项目时遇到了一些麻烦。当我开始在调试中运行它时,断点被禁用并显示消息
断点不会被命中。没有为此文档加载任何符号。
我尝试过清洁和重建,但这并没有什么不同。
我还尝试查看 Debug->Windows->Modules。如果我右键单击要调试的模块并按符号加载信息,它会显示一个它试图从中加载符号的位置列表。列表中的第一个是正确的并且文件存在,但它旁边是这个错误
C:\path\to\my\symbol\Debug\MyProject.pdb:错误的未知符号处理程序
有谁知道这是什么原因或如何解决它?
原文由 Jim Jeffries 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,您的某些模块可能不会显示在模块窗口中,因为其中一些可能是动态加载的(仅在需要时)。
您可能希望在 Linker > Debugging > Generate Program Database File 和 Generate Debug Info 下检查您的项目属性。确保这两个设置正确。
另外,检查 C/C++ > General > Debug Information Format 是否设置为 Program Database for Edit And Continue (/ZI) 或类似的东西。
我知道您提到您的符号文件存在,但检查我刚才提到的内容将确保您在正确的位置拥有正确版本的符号。
最后,检查解决方案中的所有项目和文件是否设置为编译为 Debug 而不是 Release 或其他,因为不会为此项目/文件生成任何符号(因此不会加载)。
希望这个对你有帮助。