上一篇文章有提到學著讀或寫 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 的方式分享給大家。