【问题标题】:Resharper does not navigate to external sources despite pdb files present尽管存在 pdb 文件,Resharper 仍无法导航到外部源
【发布时间】:2014-03-04 22:51:16
【问题描述】:
  • 我的解决方案使用我的其他解决方案生成的 .dll 中的类
  • .dll 在同一台机器上以调试模式生成,存在 pdb 文件
  • 在调试工作期间深入了解这些外部源,所以我假设 pdb 文件是正确的
  • pdp 文件与 .dll 位于同一目录中
  • 在 R# 设置中,我选择了“导航到源”并选中了“使用调试信息进行导航”
  • VS2012 Pro 和 R# 8.02 完整版

这让我发疯,为什么在每个常见的免费 Java IDE 中都提供开箱即用的关键东西,却不可能使用数百美元的工具在 C# 中工作......

【问题讨论】:

  • 您可以发布单击 ReSharper -> 选项 -> 外部源 -> 显示支持信息时看到的文件吗? (也许粘贴为要点或其他东西)。确保在发布之前仔细查看 - 那里将包含有关您的项目的信息 - 文件名、路径、pdb 符号等。删除您不乐意公开分享的任何内容。
  • 我把它放在here。从 pdbServiceImpl 中删除了大多数条目,因为它们很多。

标签: c# visual-studio visual-studio-2012 resharper pdb-files


【解决方案1】:

查看the gist you posted 中的转储,我看到的第一个问题是PdbCacheManagerImpl 的空白部分。这是 ReSharper 知道的 pdb 列表。这不应该是空的。有 a known bug 可能导致它为空。尝试关闭并重新打开解决方案,看看是否会再次启动它。

同样,PdbServiceImpl 部分中的程序集不包含任何有关 pdb 的信息。我认为这与PdbCacheManagerImpl 有关 - 因为 ReSharper 不知道 pdb 文件,所以这里没有列出。当它工作时,它应该显示与程序集相关的 pdb 文件,以及 pdb 中所有符号的列表,以及它们映射到的文件。

(我可以通过创建一个新的解决方案来重新创建它 - 转储在本节中不显示任何内容。关闭并重新打开它会显示已知的 dll,并带有标志来说明它们是否支持源服务器以及它们是否包含符号之间的映射(类型) 和源文件。关闭并重新打开后,我可以下载并查看例如Console.WriteLine 的源代码,而PdbServiceImpl 在 mscorlib pdb 中有一个System.Console 的条目)

其次,您的选项中没有启用“允许从远程位置下载”。这只会影响您从符号服务器下载 pdb 文件,它不应该阻止与 dll 旁边的 pdb 一起工作。不过,您需要启用它才能导航到 Console.WriteLine 的来源。

因此,很遗憾,我现在的建议是关闭并重新打开解决方案,然后重试。您可能遇到了已知的错误,解决此问题的唯一方法是关闭并重新打开。重新打开后,再次尝试导航,并再次尝试转储支持信息 - 您应该会在 PdbCacheManagerImpl 中看到更多 pdb,在 PdbServiceImpl 部分中看到已知符号列表。

【讨论】:

  • 嗯,看起来你是对的,一天后我突然能够导航到一些外部资源,现在它似乎对大多数人都有效。好吧,这不是我迄今为止最好的用户体验,但至少我猜它有点工作..
  • 我忘记链接到该错误 - 它刚刚被修复,应该是 8.2 的一部分,在下一个 EAP 版本中可用:youtrack.jetbrains.com/issue/RSRP-406276。修复后,下载 pdb 并使用其中声明的符号应该更加可靠
  • 我已经更新到 8.2 并且似乎仍在工作.. 但是现在我遇到了完全相反的问题 - 导航到 IDE 工作中的外部资源,但在此期间我无法进入同一个文件调试(“跳过没有符号的方法”)。可能与 Resharper 无关,因为与此同时我们更改了项目结构,但仍然......人们怎么能像那样工作:/ 在我的 C#/VS 经验之后,在再次抱怨 Java 或 Eclipse 之前,我会三思而后行。
  • 我一直在使用 r#2016 和它相同。如果我构建了引用的库,一切正常,如果其他人最后构建它们,我无法导航到这些库。
猜你喜欢
  • 1970-01-01
  • 2014-12-30
  • 2011-07-22
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 2020-10-21
  • 1970-01-01
  • 2016-08-19
相关资源
最近更新 更多