当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 配置Visual Studio 以调试.net framework源代码

ASP.NET
asp.net Execl的添加,更新操作实现代码
asp.net 生成曲线图实现代码
从外部的js文件中获取ASPX页面的控件ClientID
asp.net 因为数据库正在使用的解决方法
asp.net Repeater 自递增
asp.net 实现防迅雷等下载工具盗链
ASP.NET封装的SQL数据库访问类
asp.net 通过指定IP地址得到当前的网络上的主机的域名
aspx 服务器架设问题解决
ASP.NET Session使用详解
Asp.net 5种页面转向方法
ASP.NET 用户多次登录的解决方法
ASP.NET下母版页和内容页中的事件发生顺序整理
asp.net 程序性能优化的七个方面 (c#(或vb.net)程序改进)
从客户端检测到有潜在危险的Request.Form值的asp.net代码
asp.net CommunityServer中的wwwStatus
在应用程序级别之外使用注册为allowDefinition=''MachineToApplication''的节是错误的
.net开发人员常犯的错误分析小结
ASP.net Substitution 页面缓存而部分不缓存的实现方法
asp.net 生成静态时的过滤viewstate的实现方法

ASP.NET 中的 配置Visual Studio 以调试.net framework源代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-11   浏览: 208 ::
收藏到网摘: n/a

看到.net框架代码发布了,兴奋了一下,把在Visual Studio 2008上配置的内容翻译了一下,只翻译了原文的基本步骤,高级用户篇和QA没有翻译。 基本步骤
注意,这个功能在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"设置
你的设置会如下面所示:

3)下一步,选择"Symbols"页,然后设置符号下载URL和缓存位置。设置以下三个配置:
设置符号文件位置为:http://referencesource.microsoft.com/symbols
设置缓存位置。保证你的账户能读写这个位置。一个好建议是将这个路径设置为打开"Search the above locations only when symbols are loaded manually"选项
设置完毕后,应该如下图所示

设置完毕。
调试进入框架的源代码
通过这个例子,我们从一个空的C# Windows Application project开始,同样它可以在VB,Web或WPF工程上工作。创建这个工程:
在Form_Load上设置个断点:
看到.net框架代码发布了,兴奋了一下,把在Visual Studio 2008上配置的内容翻译了一下,只翻译了原文的基本步骤,高级用户篇和QA没有翻译。
运行你的工程命中断点,到调用堆栈窗口(CTRL+ALT+C).在调用堆栈里,右键单击System.Windows.Forms.dll,然后选择"Load Symbols"。这样会给System.Windows.Forms程序集加载符号,大小大概10M,所以下载速度就看看你的网络连接速度怎么样了。注意:在这个过程中Visual Studio会没有任何响应的。但是,这个下载对每个程序集来说只需要一次。这个符号(PDB)文件会缓存在你的机器上,在你刚才定义的文件夹里。

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

你已经下载了Windows Forms DLL的符号,现在可以查看代码了。你可以Step In上面的的代码行,也可以在调用堆栈里双击某一帧。在这里我们Step In(F11).在第一次进入代码的时候,我们会显示EULA。花点时间阅读EULA,如果你同意点击ACCEPT,然后这个源代码就会下载下来。就这样,你可以调试.net框架源代码了。

现在,对每个你想调试的程序集,只要重复上面的步骤就可以了(注意:你只会看到一次EULA,不是每次都会看到的).有的时候,你要调试的程序集并不在调用堆栈上,比如下面这个例子:

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

注意:一旦符号文件下载了,符号文件会显示在"Symbol File"列中。
你现在可以使用F11进入Graphics.DrawRectangle的代码了。在这个case中,你会先进入PaintEventArgs.Graphics属性的代码。