用VS2010调试微软开放的部分源码
2010-12-23 10:34
246 查看
msdn上有一篇讲解如何用vs2008调试源码的文章:http://blogs.msdn.com/b/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx 今天在vs2010上试了下,发现其实也可以,关键设置二个地方:
然后换到Symbols
在Cache symbols in this directory这里选择一个本机目录(用于存放下载源代码pdb文件)
ok,已经成功一半了,为了更方便的一次性全部下载,你也可以到codeplex网站下载一个NetMassDownLoader的小工具,地址是 http://www.codeplex.com/NetMassDownloader/
该工具可以直接用命令行一次性下载所有微软开放的源代码:
D:\software\NetMassDownloder>NetMassDownloader.exe -d D:\software\NetMassDownloder\src
这样D:\software\NetMassDownloder\src目录中将会下载到很多文件,如下图:
然后随便创建一个WinForm应用,写几行代码:
在Text="Debug me!"这里设置一个断点,运行
在Call Stack窗口中,选择System.Windows.Forms.dll,然后右击,选择Go To Source Code,然后就看到了传说中的Form.cs的源码
不过,微软只开放了一少部分代码,其它没有开放的代码,也可以利用Reflector工具来查看,比如象Array.Sort方法,网上都说微软内部使用的是快递排序算法,但是最好还是眼见为实,打开Reflector,定位到System,找到Array类,以及其中的Sort方法
点击右侧代码中的Sort方法
OK,右侧的代码中,已经能看到QuickSort这个方法了,继续
总算得见真身了!
后记:这篇文章主要是给想“深究.net源代码,但是又不知道如何下手”的朋友准备的,另外mono项目(可简单理解为.net在非windows平台上的实现)其中也有不少源码,其内部实现也值得一看。
然后换到Symbols
在Cache symbols in this directory这里选择一个本机目录(用于存放下载源代码pdb文件)
ok,已经成功一半了,为了更方便的一次性全部下载,你也可以到codeplex网站下载一个NetMassDownLoader的小工具,地址是 http://www.codeplex.com/NetMassDownloader/
该工具可以直接用命令行一次性下载所有微软开放的源代码:
D:\software\NetMassDownloder>NetMassDownloader.exe -d D:\software\NetMassDownloder\src
这样D:\software\NetMassDownloder\src目录中将会下载到很多文件,如下图:
然后随便创建一个WinForm应用,写几行代码:
using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication2 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Text = "Debug me!"; } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Hello World!"); } } }
在Text="Debug me!"这里设置一个断点,运行
在Call Stack窗口中,选择System.Windows.Forms.dll,然后右击,选择Go To Source Code,然后就看到了传说中的Form.cs的源码
不过,微软只开放了一少部分代码,其它没有开放的代码,也可以利用Reflector工具来查看,比如象Array.Sort方法,网上都说微软内部使用的是快递排序算法,但是最好还是眼见为实,打开Reflector,定位到System,找到Array类,以及其中的Sort方法
点击右侧代码中的Sort方法
OK,右侧的代码中,已经能看到QuickSort这个方法了,继续
总算得见真身了!
后记:这篇文章主要是给想“深究.net源代码,但是又不知道如何下手”的朋友准备的,另外mono项目(可简单理解为.net在非windows平台上的实现)其中也有不少源码,其内部实现也值得一看。
相关文章推荐
- 用VS2010调试微软开放的部分源码[参考]
- 开放源码的.NET 反编译工具 .NET IL调试工具 学习微软中间语言(MSIL)的绝佳工具 Dotnet IL Editor 推荐
- VS2010调试Fiddler源码并对其他部分进行删除整合
- MyEclipse中调试struts2源码的步骤以及部分问题的解决方法
- 评说微软.NET库“开放源码”
- 开放源码 C/C++ 单元测试工具,第 1 部分: 了解 Boost 单元测试框架
- 微软公布FlexWiki源码 渐扩大开放程序范围
- 转VS2010 C++下编译调试MongoDB源码 代震军
- .net运行时和核心类库源码(部分源码)微软官方下载
- 《COM技术内幕——微软组件对象模型》(Inside COM)一书部分源码 for VS 2010
- 铁公鸡拔毛!Google准备开放部分源码
- 现实中的开放源码云计算,第 1 部分: 并不是所有云都相同
- 在VS中调试微软ASP.NET MVC源码
- 先定个小目标,免费360度评价(评估)反馈系统上线,开放部分源码
- #90 – 单步调试VS2010自带的源码(Stepping Into .NET Source Code in Visual Studio 2010)
- TLD(已测试)--VS2010下TLD算法源码调试详解,解决卡机问题
- eipd研发管理系统-部分开放源码
- VS2010 C++下编译调试MongoDB源码
- 微软向欧盟妥协 开放部分非核心程序接口源代码
- VS2010 C++下编译调试MongoDB源码