单步调试与.Net Framework Source Code的发布

文章主要阐述两个方面的主要内容:第一、.Net Framework Source Code的发布;第二、如何对.Net Framework Source Code进行单步调试。

  第一、.Net Framework Source Code的发布。

    Scottgu发布的一篇文章,已经详细说明了开源的Libraries。这里,我想讲的是.Net Framework Source Code是基于MS-RL(Microsoft Reference License)许可下发布的。这里有一篇关于.Net Framework Source Code的文章ttp://blog.joycode.com/scottgu/archive/2007/10/04/109100.aspx,有兴趣的朋友可以阅读一下。

 第二、如何对.Net Framework Source Code进行单步调试。

这里我主要针对VS2005IDE环境下对.Net Framework Source Code的单步调试。首先,在Codeplex的网站下载一个.Net Mass Downloader的程序,这个程序主要用来从微软符号服务器下载源代码到本地硬盘。这里有几点要注意的:你必须先下载.Net Framework3.5,3.0,2.0的安装包,并安装完成后方可下载,否则的话,你会下载不到任何源代码。打开VS2005命令提示窗口,输入命令,如下:C:/netmassdownloader>netmassdownloader -d "C:/Program Files/Reference Assemblies/Microsoft/Framework/v3.5" -d "C:/Program Files/Reference Assemblies/Microsoft/Framework/v3.0" -d "c:/Windows/Microsoft.net/framework/v2.0.50727" -output C:/ReferenceSource。这时候的下载将会花费你很长的时间。接着它便会将源代码逐个下载到C盘的ReferenceSource文件夹里面。然后,打开VS2005,在工具->选项->调试->常规中,将“启用源服务器支持”和“要求源文件与原始版本完全匹配”的复选框的勾去掉。如图所示:

第二步、在工具->选项->调试->符号中,输入C:/ReferenceSource,如图所示:


第三步、在项目解决方案属性的通用属性中的调试源文件中输入C:/ReferenceSource,可惜的是我的VS2005输入不了,截不了图给大家看了。不知道是不是要安装SP1补丁才可以呢?只好在注册表里面改了,操作如下:打开注册表,HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/VisualStudio/8.0下面有一个KeySource Directories,把你的本地源代码路径添到最前并以分号(;)结尾即可

最后,建立一个名称为”DebugSourceCode”的项目来进行单步调试。在Default.aspx.cs中输入代码如下:using System;

using System.Data;

using System.Data.SqlClient;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["CliqiueSiteNewsBlog"].ConnectionString);

    }

}

对它设置断点,并按F11进行单步调试,效果图:

 

System.Data.dll加载符号信息后来调试DbConnectionHelper.csDBConnection.cs。这里注意一点就是必需下载到System.Data.pdb文件才可以。效果图:

DbConnectionHelper.cs:


DBConnection.cs:

 

 

上面两张截图,实现了数据库连接的原理。

从符号加载信息图来看,System.Data.pdb已经被加载了。如图所示:

  

 

 

    最后,我以此文作抛砖引玉之举,希望大家发表各自的看法。如果本文有什么错误的话,也恳求大家指教!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值