首页 文章

Visual Studio没有为此文档加载符号

提问于
浏览
31

我在调试visual studio 2008 C项目时遇到了一些麻烦 . 当我在调试中开始运行它时,将使用该消息禁用断点

断点不会被击中 . 没有为此文档加载符号 .

我尝试过清洁和重建,但这并没有什么不同 .

我也尝试过调试 - > Windows->模块 . 如果我右键单击我正在尝试调试的模块并按下符号加载信息,它会显示一个已尝试加载符号的地方列表 . 列表中的第一个是正确的,文件存在,但旁边是这个错误

C:\ path \ to \ my \ symbol \ Debug \ MyProject.pdb:错误的未知符号处理程序

有谁知道是什么导致这个或如何解决它?

14 回答

  • -1

    转到将使用该DLL进行调试的网站的“属性”,然后在下面的“调试器”部分中选择“本机代码”:

    enter image description here

  • 27

    Modules 窗口中,您可以右键单击并将 Debug 输出文件夹添加到系统查找符号文件的文件夹中 . 另外,对我有用的是删除所有输出文件 manuallyClean won 't do it every time and that' s为什么即使生成 .pdb 文件,它也不对应于您的输出文件,因此不会从中加载符号 .

  • 3

    删除bin和obj文件夹中的所有文件 . 然后再次构建解决方案 . 如果您的问题与我的一样,似乎VS正在加载特定未知文件的旧版本,重建解决方案/项目不会替换 . 在尝试之前,请务必复制您的解决方案/项目 . 祝好运!

  • 3

    首先,有些模块可能无法在模块窗口中显示,因为其中一些模块可能会动态加载(仅在需要时) .

    您可能需要在“链接器”>“调试”>“生成程序数据库文件”和“生成调试信息”下检入项目属性 . 确保这两个设置正确 .

    另外,检查C / C>常规>调试信息格式是否设置为编辑和继续的程序数据库(/ ZI)或类似的东西 .

    我知道你提到你的符号文件存在,但我刚刚提到的检查将确保你在正确的地方有正确的符号版本 .

    最后,检查解决方案中的所有项目和文件是否都设置为Debug而不是Release或其他内容,因为此项目/文件不会生成符号(因此不会加载任何符号) .

    希望这个对你有帮助 .

  • 4

    在我的例子中,通过在Tools / Options / Debugging / General中选中“Use Managed Compatibility Mode”来解决问题 .

  • 2

    我设法通过侧面复制我的源并检查完全干净的副本来解决这个问题 . 我假设它是存储在项目.suo文件中的一些设置 .

  • 1

    mspdbsrv.exe进程可能存在问题 . 尝试杀死它并再次启动调试器 .

  • 3

    对我来说,修复是在 restarting the Visual Studio :)就这么简单 . 没有其他任何帮助 - 尝试清理(甚至删除Debug文件夹中的所有文件),检查设置,甚至杀死了mspdbsrv.exe进程,但只有VS重启才有效 .

  • 0

    如果在使用“附加到流程”时有人遇到此问题,这个问题的答案就解决了我:

    Visual Studio is not loading modules when attaching to process

    具体来说,切换到“附加到”选项中的“本机代码”而不是“自动” .

  • 2

    在项目文件夹中复制“Debug”文件夹,然后删除原始“Debug”文件夹中的每个文件 . 如果您的视觉工作室已经在项目已加载的情况下运行,请在删除Debug的包含后关闭它并在重新构建整个项目之前重新打开它,理论上此操作将创建符号文件的新副本,其余部分需要调试您的码 . 当我将文件移动到其他计算机并尝试从那里编译和调试我的代码时,我发现这个问题发生在我身上,尽管所有文件夹和驱动器名称都是相同的,一些IDE如何无法使用以前创建的符号文件 . 希望这项工作可以为其他人工作!

  • 1

    VS2015 C++

    在尝试在VS2015中调试我的应用程序时,在取消加载符号后遇到了同样的问题 . 在此之后,VS2015拒绝加载我感兴趣的项目的符号(在C#调用C DLL的解决方案中的多个子项目) . 上面的解决方案对我没有用,但是这个没有 .

    对于Visual Studio 2015(C):

    • 右键单击断点所在的项目并选择
      属性展开C / C.

    • 在C / C下选择常规

    • 将调试信息格式更改为任何其他选项

    • 单击“应用”

    • 将调试信息格式更改回其默认的“用于编辑和继续的程序数据库(/ ZI)”(或您喜欢的任何内容)

    • 单击“应用”

    • 现在重建您的项目

    希望这可以帮助 . 艾伦M.

  • 0

    在我的例子中,“linker-> general”中的“使用库依赖项输入”应设置为yes,然后问题就解决了 .

  • 1

    以上都没有帮助我......

    最后我从Debug \ X64更改为Debug \ win32,这有帮助,可能是它的一些配置在两者中都不一样 . 也许这会对某人的解决方案有所帮助......

    希望可以帮助任何人 .

  • 3

    1)右键单击要调试的项目 .

    2)选择 [Properties]

    3)选择 [Build] 选项卡

    4)确保选中 [Define DEBUG constant][Define TRACE constant]

    5)单击Build标签页底部的 [Advanced] 按钮确保 [Debug Info:] 设置为 [full]

    6)点击 [OK]

    7) Rebuild 项目

相关问题