1

我在VS2008中有以下代码行。如何在Visual Studio中调试这一行代码?

VirtualPathData virtualPathData = 
     RouteTable.Routes.GetVirtualPath(_viewContext.RequestContext, 
     "Home", 
     pageLinkValueDictionary); 

我想调试这个GetVirtualpath(..)方法..看看它试图做什么。

我假设我需要从MS符号服务器中获取符号。

我所做的是

  • 关掉启用仅我的代码
  • 转到ON 启用源服务器的支持
  • 显示模块窗口调试时(手动加载正确的模块)

编译deb ug模式,在该行上放置一个断点并进行调试。当我上线时,我手动加载System.Web.Routing(..)MS Symbol服务器。此作品(PDB中被下载到本地),当我踏入这行,我转到一些Dissassemler代码:(

有人能看到我在做什么错?

+0

添加视觉工作室2008标记... – Aaron 2009-02-15 04:46:12

+1

嗯,有趣的技术问题..让我们看看谁在问.. O_o现在我忘记了什么问题又是? – 2009-02-15 10:14:58

回答

3

下载符号文件并不意味着它可用于源代码,pdb也需要源代码索引。

Scott Guthrie's announcement

我们将通过提供源代码 (与源文件的注释 附带) .NET基础类库(系统,System.IO, 开始System.Collections中, System.Configuration, 的System.Threading,System.Net, System.Security,System.Runtime, System.Text等),ASP.NET (System.Web程序),Windows窗体 (System.Windows。形式),ADO.NET (System.Data),XML(System.Xml)和 WPF(System.Windows)。然后,我们将在 之前 前几个月添加更多库(包括WCF,Workflow和 LINQ)。该源代码将根据Microsoft参考号 许可证(MS-RL)发布的 。

看来System.Web.Routing不包括在这里。

然而,你可以使用download the MVC Source,那么你应该可以使用你下载的pdbs。

-3

看起来你是在谈论。 NET,所以它实际上是你看到的IL字节码。我不认为微软公司发布了带有.NET源代码的符号,因此VS不能帮你。

+1

嗯......微软为他们的一些.NET框架发布了一些符号/ pdb文件。我的印象是System.Web.Routing是其中之一......但我无法让它工作。 – 2009-02-15 06:32:06

0

我有点惊讶它为它下载了一个符号文件;上次我查看时,只有framewor的一个小子集(主要是2.0)的符号ķ。您目前是否遇到此代码的问题?如果是这样,请发布异常/意外行为的详细信息。如果您只是好奇,那么要么是:阅读documentation或b:或许reflector(注意:“IANAL”)有一个窥探。

+0

Hi Marc。这是来自MS的本地符号缓存内容:.... MicrosoftPublicSymbols \ System.Web.Routing.pdb \ 3DB015207A024718BF08F947E4A505941 \ System.Web.Routing.pdb(27 KB的大小。)因为我有这个文件,我认为我应该能够'进入'它。我试图测试符号调试。 – 2009-02-15 10:45:05

1

我看见有人已经得到改装下来说,但...

它似乎没有,你可以得到是怎么回事的源代码级别的观点,但如果你真的需要一个答案为什么有些东西可能不工作(并且StackOverflow无法帮助),使用Reflector.NET从编译程序集(dll或exe)获取C#代码是一个不错的选择。该工具对于任何有经验的.NET开发人员来说都很容易使用,并且可以提供一些关于发生的事情的非常好的见解。

我们许多人谁在.NET 前沿工作需要使用它,因为通常没有其他快速的方法,并为那些没有MVP或Microsoft端连接,它是常用的唯一方式获得“内幕”。

相关问题