LLDB가 무엇인지 알기 위해서는, 먼저 LLVM에 대한 간단한 이해를 하는 것이 좋습니다.🤓
LLVM은 Apple 에서 진행한 Compiler에 필요한 Toolchain 개발 프로젝트입니다. 각 컴포넌트들의 재사용성을 중시해서, 모듈화가 잘 되어있다는 특징이 있습니다. 이렇게 모듈화 되어있는 컴포넌트들을 이용해 진행된 주요 서브 프로젝트들로는 LLVM Core, Clang, libc++, LLDB 등이 있습니다.
LLDB는 LLVM의 Debugger Component를 개발하는 서브 프로젝트입니다. LLVM 프로젝트를 통해 개발된 Clang Expression Parser, LLVM Diassembler 등 Low-Level 컨트롤이 가능한 모듈들로 이루어져 있어, 기계어에 가까운 영역까지 디버깅 가능하다는 장점이 있습니다. 🤗 C, C++, Objective-C, Swift를 지원하며, 현재 Xcode의 기본 디버거로 내장되어 있습니다. LLDB와 함께라면 실제 프로그램이 어떤 식으로 동작하는지 더 깊이 이해할 수 있습니다.