LLVM은 애플에서 진행한 Complier에 필요한 Toolchain 개발 프로젝트이다.
LLDB는 LLVM의 Debugger Component를 개발하는 서브 프로젝트이다.
LLDB는 Clang Expression Parser, LLVM Diassembler 등 Low-Level 컨트롤이 가능한 모듈로 이루어져 있어 기계어에 가까운 영역까지 디버깅이 가능하다는 장점이 있다.
LLDB를 사용하므로서 실제 프로그램이 어떤 방식으로 동작하는지 더 깊이 이해할 수 있다.
<용어 정리>
디버그 : 컴퓨터 프로그램 개발 단계 중에 발생하는 시스템의 논리적인 오류나 비정상적 연산을 찾아내고 그 원인을 밝히고 수정하는 작업 과정을 뜻한다. 일반적으로 디버깅을 하는 방법으로 테스트 상의 체크, 기계를 사용하는 테스트, 실제 데이터를 사용해 테스트하는 법이 있다.
Toolchain : 다른 컴퓨터 또는 시스템의 소프트웨어 제품을 만드는데 사용되는 컴퓨터 프로그램 개발 도구들의 집합이다.