2010-09-13 188 views
8

我在为Windows 7 x64上的Visual Studio 2008和2010设置Microsoft .NET Framework源代码调试时遇到问题(我在Vista x86上也遇到过类似的麻烦)。调试.NET Framework源代码不可用

我遵循this blog post以及其他一些资源,但没有太多成功的指示。我也下载并安装了微软参考源代码中心的all symbols,并且也没有成功跟随their instructions

似乎Visual Studio一直在加载没有源代码的PDB。即使存在适当的本地缓存,它也会继续下载PDB。

这似乎是一个简单的事情要做,但我必须在设置过程中不断重复一些错误。

+0

我认为它与目标平台有关。昨天晚上,我设法让它工作,当我做的x64bit建立在一个Win7对x86,但只是试图复制一个新的VHD和它的背部“无源可用”不知道.. – 2010-11-10 00:21:53

回答

6

这是黑色艺术的最黑暗的一步,我推销了一个long时间来获得3.5参考源。从来没有得到4.0了。

我发现的一个问题是符号缓存。如果您在启用符号服务器的情况下进行调试,然后尝试获取参考源,那么它会填充错误的.pdb文件,即那些没有源信息的文件。我通过手动将参考源(使用Massdownloader下载)中的.pdbs复制到符号缓存目录中,覆盖错误的目录来解决这个问题。财源。

+0

+1,但我恐怕我有今天在这个问题上浪费了很多时间,我需要一些善良的人来教我做这个工作的宝贝步骤。我意识到一件有趣的事情......我的调试尝试提示我找到'PresentationCore.pdb'。它的公钥标记是'31bf3856ad364e35',我的'ReferenceSource'缓存恰好有9个这个PDB的其他版本,但不是所需的。去搞清楚。 – wpfwannabe 2010-09-13 19:05:18

+1

这与Windows 7 x64有什么关系? – wpfwannabe 2010-09-13 19:10:02

+0

我还没有设法在VS2010中得到这个工作;在x64上定位3.5或4。也许我会等待满月。 – Jeb 2012-03-14 16:05:55

2

从我可以跟以下可能是你为什么不能访问等

请确保您使用的是Windows 7 + 64 + VS2010当具有.NET 4.0为目标打造的理由确定。 .NET 3.5将不起作用,因为它与微软不通过公共符号源服务发布这些符号的来源有关。您可以在http://referencesource.microsoft.com/netframework.aspx

得到3.5 SP1等我不知道为什么你还必须指定你的构建为,而不是任何CPU或为了得到这个工作,但还没有,那么你现在就是这种情况(对于这个特定的场景)。如果我尝试使用这两种方法中的任何一种,我都会获得对源的零访问权限(符号通常无法访问)。

希望有帮助吗?这花了我一天半的时间,试图弄清楚为什么它不是很多,但它的工作原理。

+0

将项目设置更改为.NET 4.0并将目标锁定为x64(vs x86)对我来说确实有效,并且允许我追踪我遇到的问题。谢谢! – 2011-01-03 20:00:06