我今天在Visual Studio中使用FakeItEasy运行单元测试。我离线了,发现以下符号加载正在发生并需要很长时间:
我的问题是,路径Z:\Builds\work\...
来自何处以及为什么Visual Studio会尝试从该路径加载符号。可能是这条路径对应于构建二进制文件的CI吗?如果是这样,那么库的维护者应该修复,还是我必须在本地配置的东西?我正在使用我通过NuGet获取的FakeItEasy 1.25.2二进制文件。
我知道您可以禁用符号加载(例如see this question),但实际上我希望尽可能加载符号。
答案 0 :(得分:1)
是的,Z:\Builds\work\…
是TeamCity builds FakeItEasy。
我不是一个大符号用户,所以我不确定你想要什么"修复"。为什么要加载符号,在这种情况下你会期望什么样的行为? 如果我们push the symbols to SymbolSource.org您仍然需要在线访问它们,不是吗?
你能举例说明你喜欢的NuGet包吗? 它在你的情况下表现如何?
答案 1 :(得分:1)
可以为调试配置和发布配置构建PDB,并且通常最好将它们保留用于调试目的。 FakeItEasy 或任何其他DLL或EXE,包含在编译期间它所在的PDB文件的完整路径。如果该路径是DLL(或EXE)的一部分,Visual Studio将尝试从那里加载符号。
要查看该信息,请获取DebugDir并运行debugdir <path to>\FakeItEasy.dll
。或者,在任何十六进制编辑器中,搜索pdb
。
您将找到PDB的完整路径以及其他一些信息。由于您不是构建DLL的人,因此您的磁盘上不存在PDB,您需要从符号服务器下载它。
Sourforge clone of DebugDir包含支持命令行参数clean
,可以删除调试信息。如果要删除访问不存在的Z:
驱动器的Visual Studio,可以删除PDB文件的路径。