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

 看到.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上设置个断点:

 附件: 您所在的用户组无法下载或查看附件
运行你的工程命中断点,到调用堆栈窗口(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属性的代码。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
“我记录”这套源码总共包括 两个部分:一个 .net 平台下的全栈式、轻量级开发框架,包括 ORM、MVC、IOC、AOP、JSON、LOG 等,同时包括全套图文教程;用这个框架开发的 SNS 互联网产品。本产品以 SNS 为基础平台,是一个包括门户、CMS、论坛、微博、博客、相册、群组、下载、WIKI、瀑布流等的综合系统。这套源码是真正开源的,所有源码全部托管到 github, codeplex, oschina, csdn, jd,基本每日更新。最新消息在两个地方发布:我记录官方网站:http://www.wojilu.com,发布产品消息,提供在线演示,交流相关技术,分享互联网创业经验,欢迎访问。每日源码更新动态,可以通过 Github 自带的动态消息 查看源码托管网址(全部同步):(国外)GitHub: https://github.com/wojilu/wojilu(国外)CodePlex: https://wojilu.codeplex.com(国内)开源中国: http://git.oschina.net/wojilu/wojilu(国内)CSDN: https://code.csdn.net/wojilu/wojilu(国内)京东代码库: https://code.jd.com/wojilu/wojilu下面是详细介绍。1. “我记录”开发框架(wojilu framework)“我记录”开发框架(wojilu framework) 是 .net 平台下的综合开发框架,主要用于 web 方面的快速开发。如果您对本框架感兴趣,欢迎参加开发团队,本团队常年招贤纳士,期待您的加入。官方网址:http://www.wojilu.com开发教程:http://www.wojilu.com/framework授权协议:Apache License,可免费用于商业环境参加开发团队比较简单,一般需要先了解 Git 和 Github 的操作:Git 使用教程图解(中文): http://www.wojilu.com/Forum1/Topic/2261Github 使用教程(中文): http://www.wojilu.com/Forum1/Topic/2266框架包括一个持久层框架 wojilu ORM一个依赖注入框架 wojilu IOC一个切面拦截框架 wojilu AOP一个 Web 开发框架 wojilu MVC一个轻量级模板引擎 wojilu Template一个日志类库 wojilu Log一个轻量级 Json 解析器一个简易的前端 Ajax 库(弹窗、局部刷新、验证、上传等)2. 我记录网站综合系统 2.0名称: 我记录网站综合系统 2.0网址: http://www.wojilu.com下载: 请到论坛置顶帖子中下载。简介: 集成了“SNS/门户/CMS/论坛/博客/相册/微博/群组/瀑布流/下载/WIKI”等应用程序的互联网产品,为互联网创业提供一站式解决方案。应用环境: windows或linux;.net 2.0 或更高版本;支持3种数据库 SqlServer(2000-2008)、Mysql、Access;可以和WebForm或微软MVC完美、无缝集成,共存于一个项目(使用同一个session/cookie/数据库)总特点: 功能强大、开放源代码、多语言支持,并带有丰富的二次开发教程和示例代码,扩展方便灵活。(可以和 asp.net webform/mvc 无缝整合,具体整合方案,欢迎联系官网购买技术服务)特别推荐:真正跨平台:除了windows,还可以在linux上完美运行。手机自适应:高级版针对移动设备做了特别优化,完美自适应。可以和 WebForm 以及微软MVC 完美、无缝集成(共存于一个项目,使用同一个session/cookie/数据库,自由调用),欢迎访问官网,购买整合技术支持服务。其他特点所有 APP 和基础组件都可以自定义安装。界面修改方便,模板语法简单,可在线轻松自定义界面;原生支持 Sqlserver、Access、Mysql 数据库;支持多国语言(i18n);支持静态资源(css/js/图片)和动态页面的分离(通过二级域名分离);支持网址无后缀名(或 html 等其他任意后缀名),支持符合 SEO 的良好 url 风格;默认使用依赖注入容器和 AOP 容器,轻松支持二次扩展开发。丰富的缓存机制,支持对象透明缓存和页面多级缓存,超简单、超易用、可扩展。后台管理全部采用局部刷新技术。特别介绍:门户(CMS)可直接拖拽页面布局,页面风格所见即所得,使用超级简单;可以生成 html 静态页面,提高网站性能,优化搜索引擎收录;可发布文章、视频(Flash)、图片、附件、投票、幻灯等,同时可以
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值