我尝试在 Visual Studio 10 中调试程序,但遇到断点问题。我把 *.dll 文件对应的 *.pdb 文件放在同一个目录下。但是在检查模块时,我看到每个 DLL 文件都被签名为
Cannot find or open the PDB file
.
我该如何解决这个问题?我如何检查 *.pdb 文件的预期位置?
模块(Ctrl-D,M)是一个很好的地方来整理发生了什么,所以你在正确的区域。
右键单击您希望为其找到 pdb 的模块/dll,然后选择
Symbol Load Information
它应该在与您的 dll 相同的目录中查找,如果它发现 pdb 将加载它或告诉您 pdb 文件与 dll 不匹配。
转到调试 -> 选项和设置 -> 调试 -> 符号,选中符号位置下的 Microsoft 符号服务器。见附图。
我在 VS2013 中遇到了类似的问题......与 PDB 文件和 IISEXPRESS 有关。我尝试了几件事并最终通过这样做解决了它:
工具 > 选项 > 调试 > 符号,然后按下“清空符号缓存”按钮
重新运行我的应用程序后,Visual Studio 需要一段时间才能重新加载所有符号,但它最终会这样做并且问题已解决!
就我而言,我正在调试一个单击一次的 Windows 应用程序。在模块的
Symbol Load Information
中,它告诉我 pdb 与当前附加的图像不同步。我不得不查看整个列表,而不仅仅是顶部或底部的项目,以获得该错误文本。
这告诉我重新编译并重新发布我所附加的内容,以便两者匹配。 这导致模块列表为我正在调试的程序集显示Symbols loaded,并继续调试该问题。
更改项目目录,就像在 Windows 系统目录中运行/调试代码一样,它不会以管理员权限执行,
在我的例子中,我将我的项目保存在 C: 驱动器中,当我执行代码时,我抛出访问冲突以读取输入数据错误,然后我从不同的位置尝试它并且它工作正常
&你还必须加载模块