如何使你的应用程序调试进.NET Framework 4.5源代码内部(适用B/S,C/S)

I:下载.NET 4.5源代码安装包

.NET 4.5 源代码的下载地址:官方地址 / 百度网盘镜像

image

官方下载页

 

 

image

百度云盘下载

安装过程我就不详细说了,大家都懂的~呵。

II:配置Visual Studio 2012环境

点击vs菜单栏上的 工具 –> 选项 在左侧树形列表中将[调试]节点展开然后选取[符号]子节点
image
设置为你.NET 4.5源代码安装的目录。
注意:缓存符号哪里应该选择安装包安装完成的路径,不要使用C:\Users\{UserName}\AppData\Local\Temp\SymbolCache否则vs会自动下载源代码pdb包,很慢的。

然后选择同级的[常规]节点配置成如下图所示
image
至此Visual Studio 2012配置完成,如果你是用vs2010的,那么这些步骤将会相同。唯一的区别是你需要下载.NET 4.0的源码而不是.NET 4.5版本

配置参考地址:http://blogs.msdn.com/b/dotnet/archive/2012/08/15/announcing-the-release-of-net-framework-4-5-rtm-product-and-source-code.aspx

III:调试进入.NET 4.5源代码内部当中

进行到这里时,本人先在自己的电脑上用vs2012建立一个基于.NET 4.5的控制台应用程序,并测试以上的配置过程是否成功,至此我们继续往下看步骤流程。
image
建立一个控制台应用程序

image
编写Main入口点函数的执行代码


image
查看.NET 4.5源代码内部之 - DateTime.Now内部。


image
查看.NET 4.5源代码内部之 - new String(char[])内部

image
运行结果。

到目前为止,作者已经能够顺利地调试进C/S的.NET 4.5内部了。

接下来,作者现在再试一试在WebApplication的项目类型下调试进.NET 4.5源代码内部,拭目以待。


我们继续建立了一个在.NET 4.5下的WebApplication类型的项目,但是开始调试的时候发现加载太多需要下载的dll了,出现下图的等待情况比较久的情况。。。

image

于是作者就重新开始建立一个空白的.NET 4.5 WebApplication类型的项目,就不需要引用太多的dll了。


image
然后添加Default.aspx和Global.asax文件,并再Global.asax.cs内打上一个断点

image
以方便顺利找到ASP.NET在进入System.Web.dll时的处理入口点。
下图为顺利Debug进.NET 4.5源代码内部的效果示例图,至此整编文章所要表达的核心内容已顺利表达完成。
image
从上图中的调用堆栈可以看到客户端请求进入到clr环境进行处理时,开始进行处理的一个环节是位于C:\dotNetFramework_src\net45\ReferenceSource\Source\.NET 4.5\4.5.50709.0\net\ndp\fx\src\xsp\System\Web\Hosting\IPipelineRuntime.cs\目录


image
未知的细节。。。

作为博客园内一名忠实的园友,当看到站长默默无闻地更新升级博客园程序且遇到问题时,应该贡献出一份力量维护咱们的家园原有的稳健秩序!!!虽然力量甚微,但园友情节影响深远。

本文到此结束!致谢。

作者的文章帮助很大
声明: 本文版权归作者dotNetDR_和博客园共有,转载必须保留此段声明。

posted on   dz45693  阅读(8149)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示