唐山网站建设

设为主页 加入收藏 繁體中文

VS2008中查看.NET源码的设置方法

核心提示:在Visual Studio 2008中可以通过调试进进。NET Framework的源代码,从这个意义上说,.NET Framework是开放部份源代码了....

在Visual Studio 2008中可以通过调试进进。NET Framework的源代码,从这个意义上说,.NET Framework是开放部份源代码了,但现在只支持调试模式下进进源代码。而其,这个功能在Visual Studio 2008 Express版本中不能支持。留意,所有的源代码都是从指定的远程服务器上按需下载的,而不是VS2008安装后就自带的。

要想使用这个功能,需要额外的配置1下,由于默许配置中VS2008是不开启这个功能的,那末如何配置呢?在Scott的Blog中有专门的说明,但是他的源代码服务器URL给错了。收听了1下他们的采访视频,肯定了正确配置的方式,以下:在VS2008中,菜单Tools->Options后,(1)假设你在VB Profile环境下运行,需要将左下角的Show All Settings勾选上(否则将不会出现Debugging选项),然后选择Debugging->General.(2)假设你不是在VB Profile下,则直接选择Debugging->General.(3)往掉“Enable Just My Code”的勾选。代表不单单只是调试我们自己开发的代码(弦外之音也要调试。NET Framework的源代码)

(4)打开“Enable Source Server Support”勾选。代表开启源代码服务器的支持(弦外之音在需要的时候往源码服务器获得。NET Framwork的源代码(5)选择“Debugging->Symbols”页,然后设置符号下载URL和缓存位置。设置为http://referencesource.microsoft.com/symbols .(6)设置符号的本地缓存位置。如:C:\temp\symbols.留意确保你的Windows账户能读写这个位置。

(7)打开“Search the above locations only when symbols are loaded manually”选项。表明只有当symbols被手动加载得情况下才使用。在这类模式下,第1次进进需要进进。NET Framework中的某1个dll时,需要手动履行Load Symbols操纵(注:每个dll只有1次,以后它就被缓存到(6)所设置的本地缓存中了)。假设嫌麻烦,这里也提供了1个简单的方法,即勾选“Load symbols using the updated setting when this dialog is closed”,表明当这个设置窗口封闭的时候,立即下载所有的symbols(这将需要几分钟~几10分钟,根据网速决定),这样就不用以后再手动Load symbols操纵了。 

通过以上的设置后,在调试程序的时候便可以够进进框架的源代码了。通过例子看1下,创建这个工程,并设置个断点。运行程序到断点停止时,到调用堆栈窗口(CTRL+ALT+C)右键单击1个dll(如:System.Windows.Forms.dll),然后选择“Load Symbols”,这样会给System.Windows.Forms程序集加载符号。留意:假设在配置进程中采取了当时1次性下载了所有的symbols的话,这里的Load Symbols可以省略不做。

现在可以查看代码了。你可以Step In(F11)上面的的代码行,在第1次进进代码的时候,我们会显示EULA,点击ACCEPT,然后这个源代码就会下载下来,可以调试。net框架源代码了。 

通过这类方式查看的源代码并非全部,这次发布的版本中包括的命名空间有:

以下为援用的内容:

◆System
◆System.CodeDom
◆System.Collections
◆System.ComponentModel
◆System.Data
◆System.Diagnostics
◆System.Drawing
◆System.Globalization
◆System.IO
◆System.Net
◆System.Reflection
◆System.Runtime
◆System.Security
◆System.Text
◆System.Threading
◆System.Web
◆System.Web.Extensions
◆System.Windows
◆System.Windows.Forms
◆System.Xml

毛病修正:

以中断模式或运行模式显示“调用堆栈”窗口

在“调试”菜单当选择“窗口”,然后单击“调用堆栈”。

或Ctrl+D,C

唐山网站建设www.fw8.net
TAG:代码,窗口,缓存,源代码,堆栈
评论加载中...
内容:
评论者: 验证码: