소개
JitPad은 Yoshihiro Ito가 개발한 C# 코드를 실시간으로 디스어셈블하는 Windows용 GUI 애플리케이션입니다. JitDasm을 기반으로 JIT 컴파일된 .NET 메서드를 디스어셈블하여 코드 내부를 확인할 수 있습니다. 이 도구는 .NET 개발자가 실행 중인 코드의 어셈블리 수준 동작을 분석하고 학습하는 데 유용합니다. WPF 기반 다크 테마 인터페이스를 제공하며, Roslyn과 AvalonEdit을 통합하여 코드 편집 및 자동완성 기능을 지원합니다.
상세정보
프로그램 소개/무엇인지
JitPad은 .NET 애플리케이션의 JIT 컴파일된 메서드를 실시간으로 디스어셈블하여 시각적으로 보여주는 오픈소스 도구입니다. Yoshihiro Ito가 개발했으며, JitDasm 라이브러리를 핵심 엔진으로 사용합니다. 이 프로그램은 개발자가 실행 중인 코드의 저수준 동작을 이해하고 성능 분석 또는 디버깅에 활용할 수 있도록 설계되었습니다.
주요 기능실시간 C# 코드 디스어셈블
JitPad은 사용자가 입력한 C# 코드를 컴파일하고 JIT 컴파일된 메서드를 즉시 디스어셈블하여 어셈블리 언어로 보여줍니다. 이를 통해 최적화된 기계어 수준의 코드를 확인할 수 있습니다.
코드 편집 및 자동완성 지원
AvalonEdit 텍스트 편집기를 통합하여 구문 강조 표시, 오류 표시, 팝업 기반 코드 자동완성 기능을 제공합니다.これにより、ユーザーはスムーズにコードを記述および修正できます。
WPF 기반 다크 테마 GUI
Biaui 라이브러리를 사용하여 현대적인 다크 테마 WPF 인터페이스를 제공합니다. 이는 장시간 사용 시 눈의 피로를 줄이고 가시성을 높여줍니다.
다운로드·설치 방법
JitPad은 Chocolatey 패키지 관리자를 통해 쉽게 설치할 수 있습니다. 다음 명령어를 관리자 권한으로 실행한 PowerShell 또는 CMD에서 입력하면 됩니다:
choco install jitpad
또는 공식 GitHub 저장소의 [릴리스 페이지](https://github.com/YoshihiroIto/JitPad/releases/latest)에서 ZIP 파일을 수동으로 다운로드받아 압축을 해제한 후, JitPad.exe 파일을 실행할 수 있습니다.
기본 사용법/명령어
JitPad을 실행하면 코드 편집 영역이 표시됩니다. 여기서 C# 코드를 입력하면 자동으로 컴파일 및 디스어셈블이 수행되어 하단에 결과가 나타납니다. 예를 들어 다음과 같은 간단한 메서드를 입력해 볼 수 있습니다:
int Add(int a, int b) {
return a + b;
}
입력 후 잠시 기다리면 JIT 컴파일된 해당 메서드의 어셈블리 코드가 디스어셈블되어 표시됩니다. Roslyn을 통한 실시간 오류 검사도 작동하여 잘못된 코드는 빨간색으로 강조됩니다.
이런 경우에 유용합니다
.NET 개발자가 JIT 최적화가 어떻게 적용되는지 직접 확인하고 싶을 때 유용합니다. 예를 들어 루프 언롤링, 메서드 인라이닝, 경계 검사 제거 등과 같은 최적화가 실제로 발생했는지 코드 수준에서 검증할 수 있습니다. 또한 학습 목적으로 .NET 실행 엔진의 내부 동작을 이해하는 데 도움을 줄 수 있습니다.
지원 환경·시스템 요구사항
JitPad은 .NET Core 3.1을 기반으로 빌드되었으므로, Windows 10 이상에서 .NET Core 3.1 런타임이 설치되어 있어야 실행됩니다. 소스 코드로부터 직접 빌드하는 경우 .NET SDK 3.1 이상과 Git이 필요합니다. WPF 기반 애플리케이션이므로 Windows 전용이며, 현재 macOS 또는 Linux용 공식 빌드는 제공되지 않습니다.
최신 버전·업데이트
현재 버전은 1.0.10이며, 최신 업데이트 정보는 GitHub 저장소의 [릴리스 페이지](https://github.com/YoshihiroIto/JitPad/releases)에서 확인할 수 있습니다. 업데이트는 주로 의존성 라이브러리 업데이트 및 minor 버그 수정을 포함합니다.
제한 사항·확인 사항
JitPad은 JitDasm에 의존하므로, 특정 .NET 런타임 버전이나 고급 JIT 시나리오(예: 계층적 컴파일 비활성화)에서 정확한 디스어셈블이 어려울 수 있습니다. 또한 네이티브 이미지 생성(NGen)이나 ReadyToRun 컴파일된 어셈블리는 지원하지 않을 수 있습니다. 이 도구는 교육 및 분석 목적으로 설계되었으며, 프로덕션 환경의 성능 프로파일링을 대체하는 도구가 아닙니다.
시스템 요구사항
.NET Core 3.1 런타임이 설치된 Windows 10 이상 시스템


