debugging 某些项目无法加载PDB文件

xoshrz7s  于 2023-03-23  发布在  其他
关注(0)|答案(1)|浏览(158)

我有一个项目,在其他dll中有多个引用我自己的代码。当我运行网站时,其中一个dll加载了它的pdb文件,而另一个则没有。
从输出中,我看到:
LOTS_OF_文本\共享的业务层. DLL '
LOTS_OF_TEXT\Shared.Visual.Utilities.DLL',符号已加载。
我仔细检查了一下,它们都在“LOTS_OF_TEXT”位置有相应的pdb文件......但是其中一个加载了Symbols(并允许调试),而另一个没有。
为什么?如何让Shared.BusinessLayer.DLL加载Symbols以便调试它?

编辑

为了便于参考,我让贝尔韦代雷在pdb文件更改时将其复制到/AppData/Local/Temp/SymbolCache ......这是我的调试设置告诉Visual Studio查找Symbols的地方。

b0zn9rqh

b0zn9rqh1#

启动vsvars cmd提示符(或powershell)并浏览到LOTS_OF_TEXT文件夹。Visual Studio附带了一个名为“dumpbin.exe”的工具,使用该工具可以检查.dll或. exe的结构。若要查找调试符号,在cmd提示符下输入dumpbin /headers Shared.BusinessLayer.DLL运行dumpin,你应该在dll的头信息中看到符号路径 * 如果 * 它实际上是用符号构建的。只要符号在那里,或者在搜索路径上,它们就应该被加载。
也就是说,检查visual studio是否设置为加载所有符号,方法是转到Tools-〉Options-〉Debugging-〉Symbols,并确保“Automatically Load symbols for:”单选按钮设置在“All modules,unless excluded”上,并且排除列表不包含任何相关图像。

相关问题