我在调试visual studio 2008 C项目时遇到了一些麻烦 . 当我在调试中开始运行它时,将使用该消息禁用断点
断点不会被击中 . 没有为此文档加载符号 .
我尝试过清洁和重建,但这并没有什么不同 .
我也尝试过调试 - > Windows->模块 . 如果我右键单击我正在尝试调试的模块并按下符号加载信息,它会显示一个已尝试加载符号的地方列表 . 列表中的第一个是正确的,文件存在,但旁边是这个错误
C:\ path \ to \ my \ symbol \ Debug \ MyProject.pdb:错误的未知符号处理程序
有谁知道是什么导致这个或如何解决它?
14 回答
转到将使用该DLL进行调试的网站的“属性”,然后在下面的“调试器”部分中选择“本机代码”:
在
Modules
窗口中,您可以右键单击并将Debug
输出文件夹添加到系统查找符号文件的文件夹中 . 另外,对我有用的是删除所有输出文件 manually ,Clean
won 't do it every time and that' s为什么即使生成.pdb
文件,它也不对应于您的输出文件,因此不会从中加载符号 .删除bin和obj文件夹中的所有文件 . 然后再次构建解决方案 . 如果您的问题与我的一样,似乎VS正在加载特定未知文件的旧版本,重建解决方案/项目不会替换 . 在尝试之前,请务必复制您的解决方案/项目 . 祝好运!
首先,有些模块可能无法在模块窗口中显示,因为其中一些模块可能会动态加载(仅在需要时) .
您可能需要在“链接器”>“调试”>“生成程序数据库文件”和“生成调试信息”下检入项目属性 . 确保这两个设置正确 .
另外,检查C / C>常规>调试信息格式是否设置为编辑和继续的程序数据库(/ ZI)或类似的东西 .
我知道你提到你的符号文件存在,但我刚刚提到的检查将确保你在正确的地方有正确的符号版本 .
最后,检查解决方案中的所有项目和文件是否都设置为Debug而不是Release或其他内容,因为此项目/文件不会生成符号(因此不会加载任何符号) .
希望这个对你有帮助 .
在我的例子中,通过在Tools / Options / Debugging / General中选中“Use Managed Compatibility Mode”来解决问题 .
我设法通过侧面复制我的源并检查完全干净的副本来解决这个问题 . 我假设它是存储在项目.suo文件中的一些设置 .
mspdbsrv.exe进程可能存在问题 . 尝试杀死它并再次启动调试器 .
对我来说,修复是在 restarting the Visual Studio :)就这么简单 . 没有其他任何帮助 - 尝试清理(甚至删除Debug文件夹中的所有文件),检查设置,甚至杀死了mspdbsrv.exe进程,但只有VS重启才有效 .
如果在使用“附加到流程”时有人遇到此问题,这个问题的答案就解决了我:
Visual Studio is not loading modules when attaching to process
具体来说,切换到“附加到”选项中的“本机代码”而不是“自动” .
在项目文件夹中复制“Debug”文件夹,然后删除原始“Debug”文件夹中的每个文件 . 如果您的视觉工作室已经在项目已加载的情况下运行,请在删除Debug的包含后关闭它并在重新构建整个项目之前重新打开它,理论上此操作将创建符号文件的新副本,其余部分需要调试您的码 . 当我将文件移动到其他计算机并尝试从那里编译和调试我的代码时,我发现这个问题发生在我身上,尽管所有文件夹和驱动器名称都是相同的,一些IDE如何无法使用以前创建的符号文件 . 希望这项工作可以为其他人工作!
VS2015 C++
在尝试在VS2015中调试我的应用程序时,在取消加载符号后遇到了同样的问题 . 在此之后,VS2015拒绝加载我感兴趣的项目的符号(在C#调用C DLL的解决方案中的多个子项目) . 上面的解决方案对我没有用,但是这个没有 .
对于Visual Studio 2015(C):
右键单击断点所在的项目并选择
属性展开C / C.
在C / C下选择常规
将调试信息格式更改为任何其他选项
单击“应用”
将调试信息格式更改回其默认的“用于编辑和继续的程序数据库(/ ZI)”(或您喜欢的任何内容)
单击“应用”
现在重建您的项目
希望这可以帮助 . 艾伦M.
在我的例子中,“linker-> general”中的“使用库依赖项输入”应设置为yes,然后问题就解决了 .
以上都没有帮助我......
最后我从Debug \ X64更改为Debug \ win32,这有帮助,可能是它的一些配置在两者中都不一样 . 也许这会对某人的解决方案有所帮助......
希望可以帮助任何人 .
1)右键单击要调试的项目 .
2)选择 [Properties]
3)选择 [Build] 选项卡
4)确保选中 [Define DEBUG constant] 和 [Define TRACE constant]
5)单击Build标签页底部的 [Advanced] 按钮确保 [Debug Info:] 设置为 [full]
6)点击 [OK]
7) Rebuild 项目