如何使你的應用程序調試進.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_和博客園共有,轉載必須保留此段聲明。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM