gpt4 book ai didi

c# - 尽管存在 pdb 文件,Resharper 不会导航到外部源

转载 作者:太空狗 更新时间:2023-10-29 23:31:20 24 4
gpt4 key购买 nike

  • 我的解决方案使用我的其他解决方案生成的 .dll 中的类
  • .dll 在同一台机器上以 Debug模式生成,存在 pdb 文件
  • 在调试工作期间潜入那些外部源,所以我假设 pdb 文件是正确的
  • pdp文件与.dlls在同一目录
  • 在 R# 设置中,我选择了“Navigation to Sources”并选中了“Use debug information for navigation”
  • VS2012 Pro 和 R# 8.02 完整版

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

最佳答案

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

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

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

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

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

关于c# - 尽管存在 pdb 文件,Resharper 不会导航到外部源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22153210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com