我在VS2008中有以下代码行。
VirtualPathData virtualPathData =
RouteTable.Routes.GetVirtualPath(_viewContext.RequestContext,
"Home",
pageLinkValueDictionary);
我希望调试这个GetVirtualpath(..)
方法..看看它正在尝试做什么。
我假设我需要从MS符号服务器中获取符号。
我做的是
在调试模式下编译,在该行上设置断点并调试运行。当我点击该行时,我从 MS Symbol服务器手动加载System.Web.Routing(..)
。这工作(pdb在本地下载),当我踏入INTO这一行时,我转到一些Dissassemler代码:(
谁能看到我做错了什么?
答案 0 :(得分:3)
下载符号文件并不意味着可以使用源代码,pdb也需要进行源索引。
来自Scott Guthrie's announcement:
我们首先提供来源 代码(包含源文件注释 包括)用于.NET基类 图书馆(System,System.IO, System.Collections中, 系统配置, System.Threading,System.Net, System.Security,System.Runtime, System.Text等),ASP.NET (System.Web),Windows窗体 (System.Windows.Forms),ADO.NET (System.Data),XML(System.Xml)和 WPF(System.Windows)。我们会的 在几个月内添加更多的库 未来(包括WCF,工作流程和 LINQ)。源代码将是 在Microsoft Reference下发布 许可证(MS-RL)。
这里似乎没有包含System.Web.Routing。
然而,您可以download the MVC Source,然后您应该能够使用您针对该来源下载的pdbs。
答案 1 :(得分:1)
我看到有人因为说出来而已经改变了,但是......
您似乎无法获得正在发生的事情的源级视图,但如果您确实需要回答为什么某些内容可能无法正常工作(并且StackOverflow无法帮助),请使用Reflector.NET从编译的程序集中获取C#代码(dll或exe)是一个非常好的选择。该工具非常易于使用,适用于任何有经验的.NET开发人员,可以提供一些非常好的见解。
我们中许多在.NET 的前沿工作的人需要来使用它,因为通常没有其他快速方法,对于那些没有MVP或Microsoft端连接的人来说,它通常是仅获取'内幕故事'的方式。
答案 2 :(得分:0)
我为此下载了一个符号文件有点惊讶;上次我看,框架的一个小子集(主要是2.0)只有符号。您目前在使用此代码时遇到问题吗?如果是,请发布异常/意外行为的详细信息。如果你只是好奇,那么要么a:阅读documentation,或者b:或许拥有reflector的窥探(警告:“IANAL”)。
答案 3 :(得分:-3)
看起来你在谈论.NET,所以它实际上是你看到的IL字节代码。我不认为Microsoft发布带有.NET源代码的符号,因此VS无法帮助您。
使用.NET Reflector检查函数的功能。