업무_메모

Visual Studio에서 C# IL 코드 보는 방법 정리

shine94 2025. 4. 9. 04:55

🔍 목표

C++의 디스어셈블리처럼, C# 코드도 실시간으로 중간언어(IL)를 보고 싶었다

 

 

❓ Visual Studio에서 가능한가?

   Visual Studio는 디버깅 중에는 기계어를 볼 수 있지만, IL 코드 자체를 분석하거나 확인하는 기능은 없다

 

 

🔧 시도해 본 Visual Studio 대안들

   ildasm과 확장 관리에서 설치한 ILSpy를 시도해봤다

   하지만 모두 dll 또는 exe 파일을 직접 열어야만 IL 코드를 확인할 수 있었다

 

   정리하자면,

   Visual Studio에서는 매번 빌드 후, 그 결과 파일을 다시 열어야 한다는 점이 매우 매우 매우!! 불편했다 😤

 

https://learn.microsoft.com/ko-kr/dotnet/framework/tools/ildasm-exe-il-disassembler

 

Ildasm.exe(IL 디스어셈블러) - .NET Framework

Ildasm.exe(IL 디스어셈블러)는 IL(중간 언어) 코드가 포함된 PE(이식 가능한 실행 파일) 파일을 가져와서 Ilasm.exe를 위한 텍스트 파일을 만듭니다.

learn.microsoft.com

https://kukuta.tistory.com/350

 

[C#] IL 디스어셈블러(ildasm.exe) 유틸리티

ildasm.exe란? IL 디스어셈블러(ildasm.exe)는 IL 어셈블러(ilasm.exe)의 자매도구로써 IL코드를 포함하고 있는 포터블 실행 파일(PE)을 이용해 ilasm.exe의 입력에 적합한 텍스트 파일을 생성한다. 다시 말하

kukuta.tistory.com

 

 

✅ 결국 선택한 방식, Rider

   그래서 결국 JetBrains Rider를 설치했다

   Rider는 Visual Studio와 달리, 별도로 명시적인 빌드 없이도 바로 IL 코드를 확인할 수 있었다

   (내부적으로 임시 컴파일을 통해 IL 코드를 보여주는 방식이라고 함)

 

방법1.

 

방법2.

단축키 Ctrl + Shift + A > IL Viewer 검색

 

 

🏁 결론

역시 유료는 다르다... 👍👍 Rider는 최고인 것 같다

 

내가 원하던

"C++의 디스어셈블리처럼, C# 코드도 실시간으로 중간언어(IL)를 보기"를 Rider는 가장 간단하고 빠르게 제공해줬다.

 

 

✨ 한 줄 요약

Rider를 쓰자.... 👍👍