2011-10-13 24 views
14

我正在尝试对一个开源项目npp-community进行一些补充,但似乎无法调试。我试图调试的代码被编译成一个dll,然后链接到主项目。设置断点时,出现以下错误:PDB与映像不匹配错误

断点当前不会被命中。没有符号被载入这个文件。

当我检查debug>windows>modules下的模块时,我检查符号加载信息并得到以下错误。

PDB不符图像

我试图退出Visual Studio和重新启动/重新编译,但似乎没有任何修复。谷歌似乎给出了围绕在一起的线索,并没有明确的答案。

回答

3

这里的问题在于调试器无法为您的模块找到有效的PDB文件。使用两个参数将PDB文件与二进制映像进行匹配:标识符(GUID)和年龄。在this article中有关于此过程的更多信息。

确保您的模块具有有效的PDB文件,并且它们与模块位于相同的目录或调试器的搜索路径(Debug-> Options and settings ...-> Symbols)。

9

我有我的VS2010项目类似的问题,转出的问题是由于项目属性 mistmatch - >C/C++ - >输出文件 - >'程序数据库文件名'项目属性 - >链接 - >调试 - >'生成程序数据库文件'

通过将'程序数据库文件名'修改为“从父项或项目默认继承”来修复它。

+0

这有帮助,谢谢。在我的情况下,我不得不将它设置为_my_pyd_name_d.pdb。 – Calvin1602

+0

哦,重新启动Visual也有很大帮助。 – Calvin1602

+0

男孩很烦人,相同的设置在两个地方 - 他们必须手动保持同步。如果它们不同步,则没有警告。更糟的是,你的PDB不会加载莫名其妙。 –

1

有时会发生这种情况,因为您可能将项目构建为发布版本。

右键单击该解决方案,然后点击“批量生成”>检查所有项目,并单击“清除”

0

我有这个而关于在WinCE5.0智能设备项目。解决的办法是冷启动我正在调试的设备+清理VS2008中的解决方案