Visual Studio 2008调试.NET Framework源码基本步骤

转载 2008年09月28日 15:58:00

http://whx.tzgt.gov.cn/newOperate/html/1/11/114/14533.html

首先,这个功能在Visual Studio 2008 Express版里不支持。

1)安装Visual Studio 2008 QFE。这个QFE只是更新一个Visual Studio调试器的DLL,以便可以获取源代码,更多细节见下载页面。

2)运行Visual Studio 2008依次展开Tools->Options->Debugging->General。如果你在Visual Basic Profile环境下运行,你需要将lower left of the Options Dialog标记为“Show All Settings”,然后继续(其它配置没有这个选项)。

设置以下两个设置:

◆关闭“Enable Just My Code”设置
◆打开“Enable Source Server Support”设置

你的设置会如下面所示:

图1

3)下一步,选择“Symbols”页,然后设置符号下载URL和缓存位置。设置以下三个配置:

◆设置符号文件位置为:http://referencesource.microsoft.com/symbols
◆设置缓存位置。保证你的账户能读写这个位置。
◆打开“Search the above locations only when symbols are loaded manually”选项。

设置完毕后,应该如下图所示:

图2

设置完毕。

调试进入框架的源代码。

通过这个例子,我们从一个空的C# Windows Application project开始,同样它可以在VB,Web或WPF工程上工作。创建这个工程:

在Form_Load上设置个断点:

图3

运行你的工程命中断点,到调用堆栈窗口(CTRL+ALT+C).在调用堆栈里,右键单击System.Windows.Forms.dll,然后选择“Load Symbols”。这样会给System.Windows.Forms程序集加载符号,大小大概10M,所以下载速度就看看你的网络连接速度怎么样了。注意:在这个过程中Visual Studio会没有任何响应的。但是,这个下载对每个程序集来说只需要一次。这个符号(PDB)文件会缓存在你的机器上,在你刚才定义的文件夹里。

图4

这样就会从服务器上下载这个DLL的符号了,你可以在状态栏里看到一些信息反映这个。注意:这个完成后调用帧字体会变成黑色,并且行号也可用了。注意:在每次调试会话中你都需要右键单击然后选择“Load Symbols”(但是,第二次的时候,这个符号已经缓存在本地了,所以无需再下载它们)。要了解更多信息请欣赏下面的高级用篇。

图5

你已经下载了Windows Forms DLL的符号,现在可以查看代码了。你可以Step In上面的的代码行,也可以在调用堆栈里双击某一帧。在这里我们Step In(F11)。

在第一次进入代码的时候,我们会显示EULA。花点时间阅读EULA,如果你同意点击ACCEPT,然后这个源代码就会下载下来。

就这样,你可以调试.net框架源代码了。

图6

现在,对每个你想调试的程序集,只要重复上面的步骤就可以了(注意:你只会看到一次EULA,不是每次都会看到的)。

有的时候,你要调试的程序集并不在调用堆栈上,比如下面这个例子:

图7

在你调试进入Graphics.DrawRectangle,你需要加载System.Drawing.dll的符号。打开Modules Window(CTRL+ALT+U)。这个列表会显示调试中所有加载的模块(DLLs).在列表中找到System.Drawing.DLL,右键单击,然后选择Load Symbols。

图8

注意:一旦符号文件下载了,符号文件会显示在“Symbol File”列中。

你现在可以使用F11进入Graphics.DrawRectangle的代码了。在这个case中,你会先进入PaintEventArgs.Graphics属性的代码。

Visual Studio 2012 调试.net framework4.5源码

原文地址:http://www.cnblogs.com/highend/archive/2012/09/17/how-to-debug-in-net45-source.html I:下载.N...
  • XuWei_XuWei
  • XuWei_XuWei
  • 2014年03月25日 17:36
  • 1953

[Windows]_[VisualStudio对应的.net版本]

VS2003 -> .Net Framework 1.0/1.1 VS2005 -> .Net Framework 2.0 VS2008 -> .Net Framework 3.0/3.5 VS201...
  • infoworld
  • infoworld
  • 2013年01月05日 10:13
  • 2171

如何在Visual Studio中调试.NET源码

Configure Visual Studio 2013 for debugging .NET framework In order to configure Visual Studio 201...
  • T_27080901
  • T_27080901
  • 2015年01月28日 22:03
  • 2013

解决已经安装了新版本的.net framework,在visual studio的target framework没有显示的问题

最近项目需要使用最新版本的.net framework,但是我使用visual studio(以下简称为vs)中没有最新版本的,所以就到Microsoft的官网上下载并安装了最新版本的.net fra...
  • FightingBess
  • FightingBess
  • 2017年08月10日 13:56
  • 573

Visual Studio .Net 2008下载!!!!!!.........................................置顶推荐

微软已开始发放Visual Studio 2008  ,更新的速度真是快呀!地址为:http://msdn2.microsoft.com/zh-cn/downloads/aa700831.aspxGe...
  • aohan
  • aohan
  • 2007年07月13日 15:04
  • 16777

Visual studio.net 和 .Net FrameWork 区别

  1.区别:      a.           1.Visual studio.net是一个开发工具,它有2003,2005,2008等版本。           2..Net FrameWork...
  • renpinghao
  • renpinghao
  • 2010年02月26日 19:07
  • 1465

VS2010调试.net framework源码

原文地址:http://blog.csdn.net/waxgourd0/article/details/6600182
  • XuWei_XuWei
  • XuWei_XuWei
  • 2014年05月20日 21:31
  • 1125

Microsoft Visual Studio 2010(旗舰版) 没有.Net Framework 2.0 的问题

这几天做一个gps的项目,该项目一共分为三部分的内容:     1.服务端;      2.客户端;     3.pc管理端;     服务端程序负责接收客户端(手机)发来的精度、纬度和高度的...
  • lijun_xiao2009
  • lijun_xiao2009
  • 2012年02月17日 13:35
  • 2446

C#, .NET Framework, Visual Studio 和CLR之间的关系

原文地址:点击打开链接 1.版本整合:   2..NET Framework 版本差异 版本 发行的功能及其特点            1.0 First Versio...
  • venus_dong
  • venus_dong
  • 2013年07月31日 11:17
  • 1187

如何使用Visual Studio 2008打包发布开发好的应用程序

最近测试应用程序在不同操作系统的运行情况时(主要为Windows操作系统,例如Windows XP 32Bit&64Bit/Windows 7 32Bit&64Bit等),当目标操作系统无.net ...
  • WolfMvP
  • WolfMvP
  • 2015年03月31日 10:44
  • 1650
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Visual Studio 2008调试.NET Framework源码基本步骤
举报原因:
原因补充:

(最多只允许输入30个字)