Visual Studio 2010“找不到或打开 PDB 文件”

Visual Studio 2010 "Cannot find or open the PDB file"

提问人:YAKOVM 提问时间:12/7/2011 最后编辑:Matt Johnson-PintYAKOVM 更新时间:3/21/2023 访问量:63961

问:

我尝试在 Visual Studio 10 中调试程序,但断点有问题。我将与 *.dll 文件对应的 *.pdb 文件放在同一目录中。但是在检查模块时,我看到每个DLL文件都签名为.Cannot find or open the PDB file

如何解决此问题?如何检查 *.pdb 文件的预期位置?

调试 visual-studio-2010 dll pdb 文件

评论


答:

14赞 wal 12/7/2011 #1

模块(Ctrl-D、M)是整理正在发生的事情的好地方,因此您处于正确的区域。

右键单击您希望找到其 pdb 的模块/dll,然后选择Symbol Load Information

它应该在与你的 dll 相同的目录中查找,如果它找到 pdb 将加载它或告诉你 pdb 文件与 dll 不匹配。

2赞 toddmo 8/15/2012 #2

就我而言,我正在调试一个单击一次的 Windows 应用程序。在模块的 中,它告诉我 pdb 与当前附加的图像不同步。我必须查看整个列表,而不仅仅是顶部或底部项目,才能获得该错误文本。Symbol Load Information

这告诉我重新编译并重新发布我所附的内容,以便两者匹配。 这导致模块列表显示正在为我正在调试的程序集加载符号,并继续调试该问题。

评论

0赞 David 8/24/2021
对我来说,这不是一个点击一次的应用程序,但最终结果是相同的,因为 .dll 已经过时了。我正在使用 .我以为程序会从项目的 bin 文件夹加载 .dll,但我错了。相反,它首先搜索隐藏了过时版本的 .dll 的不同文件夹(我不知道)。这使得 .pdb 不匹配,因此即使我手动尝试将其指向那里,它也不会加载。AssemblyLoadContext.LoadFromAssemblyName
13赞 john k 11/1/2012 #3

转到调试 -> 选项和设置 -> 调试 -> 符号,选中符号位置下的Microsoft符号服务器。见附图。

Include Symbols

评论

0赞 red-o-alf 3/8/2016
好的,但是符号的本地版本去哪儿了?有没有办法像不可用之前一样重新创建它们?
6赞 Robert W. 9/13/2014 #4

我在 VS2013 中遇到了类似的问题......与 PDB 文件和 IISEXPRESS 有关。我尝试了几件事,最终通过这样做解决了它:

工具>选项>调试>符号,然后按“空符号缓存”按钮

重新运行我的应用后,Visual Studio 花了一段时间才重新加载所有符号,但它最终确实这样做了,并且问题得到了解决!

0赞 Bhavesh M Moradiya 2/12/2016 #5

更改项目目录,例如在Windows系统目录中运行/调试代码,它不会以管理员权限执行,

就我而言,我将我的项目保存在 C: 驱动器中,当我执行代码时,我抛出访问冲突以读取输入数据错误,然后我从不同的位置尝试它,它工作正常

&你也必须加载模块