위키득계정 ↗
기술

LLDB

LLDB기술
소속 프로젝트
LLVM
주요 역할
프로그램 디버깅
공개 인터페이스
C++ API와 Python 바인딩
통합 환경 예
Xcode
LLDB는 LLVM 프로젝트의 라이브러리를 활용하는 디버거다. 재사용 가능한 구성 요소와 공개 API를 제공하고 Clang의 표현식 처리 기능을 이용해 프로그램의 상태와 표현식을 조사한다.

컴파일러 구성 요소의 활용

Clang의 표현식 분석기와 LLVM의 디스어셈블러 같은 기존 라이브러리를 활용한다. 디버그 정보를 Clang의 자료형으로 연결해 C와 C++ 및 Objective-C 등의 표현식을 처리한다. 컴파일러의 언어 처리 기능을 디버깅에 재사용하는 구조다.

명령행과 스크립트 인터페이스

명령행 도구는 공유 라이브러리의 공개 API를 이용한다. 같은 API를 Python 바인딩으로 제공하므로 내장 인터프리터나 외부 Python 스크립트에서 사용할 수 있다. 디버깅 기능을 다른 도구와 연결하거나 반복 조사 작업을 구성하는 데 활용한다.

디버깅 외의 재사용

공개 API는 심벌과 객체 파일의 조사 및 명령어 역어셈블 등에도 사용할 수 있다. macOS와 Linux 및 여러 다른 플랫폼을 지원하지만 대상별 기능 범위는 다를 수 있다. 재사용 가능한 분석 구성 요소와 이를 사용하는 디버거 도구를 함께 제공한다.

관련 문서

GDB / Valgrind / 디버깅 / 컴파일러 / Python / API