PDB文件赢得';t某些项目的负载

本文关键字:项目 负载 文件 PDB | 更新日期: 2023-09-27 18:29:23

我有一个项目,它在其他dll中多次引用我自己的代码。当我运行网站时,其中一个dll加载它的pdb文件,而另一个没有。

从输出中我看到:

LOTS_OF_TEXT''Shared.BusinessLayer.DLL'
LOTS_OF_TEXT''Shared.Visual.Utilities.DLL',已加载符号。

我仔细检查了一下,他们在"LOTS_OF_TEXT"位置都有相应的pdb文件。。。但其中一个加载Symbol(并允许调试),但另一个不加载。

为什么?如何让Shared.BusinessLayer.DLL加载Symbols以便对其进行调试?

编辑
为了参考,我让Belvedere在pdb文件更改时将其复制到/AppData/Local/Temp/SymbolCache。。。这是我的调试设置告诉Visual Studio查找符号的地方。

PDB文件赢得';t某些项目的负载

启动vsvars cmd提示符(或powershell)并浏览到LOTS_OF_TEXT文件夹。Visual studio附带了一个名为"dumpbin.exe"的工具,使用该工具可以检查.dll或.exe的结构。若要查找调试符号,请在cmd提示符下键入dumpbin /headers Shared.BusinessLayer.DLL运行dumpin,如果dll实际上是用符号构建的,则应在其标头信息中看到符号路径。只要符号在那里,或者在搜索路径上,就应该加载它们。

也就是说,通过转到"工具"->"选项"->"调试"->"符号",并确保"所有模块,除非排除"上设置了"自动加载符号:"单选按钮,并且排除列表中不包含任何相关图像,检查visual studio是否设置为加载所有符号。