[小菜一碟] 如何查看 C# 編譯出來的 IL Code?

上一篇文章有提到學著讀或寫 IL Code,對我們在程式執行狀況的掌握,有正向的提昇,那麼其中一種學習方式,就是透過我們平常撰寫的程式碼,看看它編譯出來的 IL Code 長什麼樣子,藉此來理解 IL Code,本篇文章就來介紹兩種查看 C# 編譯出來的 IL Code 的方式。

Ildasm.exe

Ildasm.exe 是微軟官方的工具,只要是裝了 Windows SDK 就會有的一個東西,通常安裝的路徑會在 C:\Program Files (x86)\Microsoft SDKs\Windows\ 底下,然後我們在這個目錄底下搜尋 ildasm.exe,就能找到各個版本的 ildasm.exe。

不同版本的 .NET Framework 會有對應的 ildasm.exe,我們就選一個可以用的把它執行起來,我這邊選的是這一個 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\x64\ildasm.exe,執行起來之後,點選「檔案」->「開啟」,選擇我們編譯好的 PE 檔(可移植性可執行檔案)

這時候我們就可以看到我們的組件名稱,我在這邊的組件名稱是 ILViewerLab,把它展開就可以看到一些我們建立的類別,把類別展開就可以看到方法。

接著,把滑鼠移到我們想查看 IL Code 的方法上,雙擊左鍵兩下,就可以看到該方法編譯出來的 IL Code。

ReSharper - IL Viewer

ReSharper 是著名的 Visual Studio 擴充套件,裝上去之後,我們可以在「ReSharper」->「Windows」底下找到「IL Viewer」。

只要我們的程式碼有編譯過,IL Viewer 就會同步顯示我們現在游標所在位置的 IL Code,相當方便。

以上就將這兩種查看 IL Code 的方式分享給大家。

相關資源

C# 指南
ASP.NET 教學
ASP.NET MVC 指引
Azure SQL Database 教學
SQL Server 教學
Xamarin.Forms 教學