CCR源碼分析-分析環境準備

來源:互聯網
上載者:User

由於CCR的源碼並沒有直接公開,所以我們需要藉助一些工具來窺探它的秘密。             

       

分析CCR需要如下的工具

MS Robotic Studio Express 2008R2,這個就不用解釋了,安裝它就是為了獲得CCR

Reflector & FileDisassembler,Reflector有兩個作用,一個是用來把CCR的dll檔案反編譯到C#語言,第二個是直接對CCR進行一些分析,而這些分析在VS中並不容易。FileDisassembler是Reflector的一個外掛程式,用來把反編譯的結果匯出為一個C#工程。

Visual C# 2008 Express or Visual Studio 2010 beta2(推薦,因為VS 2010大大增強了多線程調試能力)

以上工具皆可合法的免費獲得

 

CCR源碼和例子程式

Microsoft.Ccr.Core.dll是我們本次要研究的對象。為了分析和調試的方便,我們需要把它用Reflector和FileDisassembler反編譯。注意,反編譯後的源碼可能有些問題,下面記載了幾個比較重要的修改:
1. Resource檔案。我們需要先刪除Reflector產生的Resource1.cs,然後建立一個名為Resource1.resx的資源檔,把Reflector產生的Microsoft.Ccr.Core.resx中的字串全部複製到Resource1.resx中,最後刪除原來的Microsoft.Ccr.Core.resx
2. Dispatcher.cs中有兩個靜態變數的初始化順序不正確,需要吧TraceSwitchCore的聲明和初始化語句放在檔案最頂端。

Sample Code,為了統一起見,我選擇了MSDN Mag中的這篇文章中的代碼。
解壓Sample Code後,用VS建立一個CCRDemo的project,把解壓得到的代碼添加到CCRDemo項目中,再把反編譯得到的CCR源碼工程也加入這個Solution中,最後給CCRDemo添加CCR的引用。如果能編譯並運行CCRDemo,則說明我們的分析環境已經構建好了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.