디버거 내부 구조
디버그 정보를 메모리 내 표현으로 변환하는 것은 디버거의 역할입니다. 디버그 정보를 해석하는 방식과 메모리 내 표현 방식은 모두 정해진 것이 없으며, 프로그램이 실행되는 동안 의미 있는 정보를 재구성할 수만 있다면 어떤 방식이든 무방합니다. 원시 디버그 정보에서 사용 가능한 타입에 이르는 파이프라인은 상당히 복잡할 수 있습니다.
정보가 다룰 수 있는 형식으로 준비되면, 디버거 프런트엔드는 데이터를 해석하고 표시하는 방법, 사용자가 데이터와 상호작용하는 방법, 그리고 확장을 위한 API를 제공해야 합니다.
디버거는 방대한 시스템이므로 여기서 모두 다룰 수는 없습니다. 이 절에서는 Rust 디버깅 경험과 직접 관련된 하위 시스템을 간략히 살펴봅니다.
Microsoft의 디버깅 엔진은 소스가 공개되어 있지 않으므로 여기서는 다루지 않습니다.