Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 PDB不匹配图像错误_Visual Studio 2008_Debugging - Fatal编程技术网

Visual studio 2008 PDB不匹配图像错误

Visual studio 2008 PDB不匹配图像错误,visual-studio-2008,debugging,Visual Studio 2008,Debugging,我试图对一个开源项目npp社区做一些补充,但似乎无法调试。我试图调试的代码被编译成dll,然后链接到主项目。设置断点时,出现以下错误: 当前不会命中断点。尚未为此文档加载任何符号 当我在debug>windows>modules下检查模块时,我检查符号加载信息,并得到以下错误 PDB与图像不匹配 我尝试过退出VisualStudio并重新启动/重新编译,但这似乎无法解决任何问题。谷歌似乎给出了一些循环的线程,但没有明确的答案。这里的问题在于调试器无法为您的模块找到有效的PDB文件。PDB文件使用

我试图对一个开源项目npp社区做一些补充,但似乎无法调试。我试图调试的代码被编译成dll,然后链接到主项目。设置断点时,出现以下错误:

当前不会命中断点。尚未为此文档加载任何符号

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

PDB与图像不匹配


我尝试过退出VisualStudio并重新启动/重新编译,但这似乎无法解决任何问题。谷歌似乎给出了一些循环的线程,但没有明确的答案。

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


确保您的模块具有有效的PDB文件,并且它们与模块位于同一目录中,或者位于调试器的搜索路径中(调试->选项和设置…->符号)

我的VS2010项目也有类似的问题,问题是由于项目属性不匹配造成的,和项目属性->链接器->调试->“生成程序数据库文件”


通过将“程序数据库文件名”更改为“从父级或项目默认值继承”来修复此问题。

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


右键单击解决方案,然后单击“批量构建”>检查所有项目,然后单击“清理”

我在为WinCE5.0开发智能设备项目时遇到了这个问题。解决方案是冷启动我调试的设备+在vs2008中清理解决方案

如果您调试的是nuget软件包,我建议:

进入
Tools->Options->debug->Symbols
并添加
https://symbols.nuget.org/download/symbols


否则,您将不得不手动修改dll中的guid以匹配PDB文件中的guid。

我与nuget包发生名称冲突。我在一个名为gtest的项目中使用googletest包。VisualStudio不喜欢这样,无法找到pdb文件。重命名了项目,然后它开始工作。

这很有帮助,谢谢。在我的情况下,我必须将它设置为_my_pyd_name_d.pdb。哦,重新启动Visual也有很大帮助。男孩,这很恼人,相同的设置在两个地方,而且它们必须手动保持同步。如果它们不同步,则没有警告。更糟糕的是,你的PDB无法令人费解地加载。非常感谢,这解决了我遇到的同样的问题!这很有帮助,对于我的情况,我还需要将“项目属性->链接器->输出文件”设置为“从父项或项目默认值继承”。我想这两个问题都需要解决。