위키득계정 ↗
기술

Bear 컴파일 데이터베이스

Bear 컴파일 데이터베이스기술
분류
컴파일 명령 수집 도구
출력
compile_commands.json
활용
언어 서버와 정적 분석
입력 경로
빌드 실행과 명령 기록
Bear는 빌드 과정에서 컴파일 명령을 수집해 컴파일 데이터베이스를 만드는 도구다. 편집기와 정적 분석기가 실제 프로젝트의 빌드 조건을 이해하도록 돕는다.

빌드 조건을 기록하기

같은 소스라도 헤더 탐색 경로와 매크로, 언어 표준 설정에 따라 해석이 달라진다. Bear는 컴파일러 호출에서 이 조건을 수집한다. 생성한 데이터베이스는 각 소스 파일을 어떤 명령과 작업 디렉터리로 처리하는지 기술한다.

수집 방법 선택

실제 빌드를 관찰하는 경로 외에 명령 기록을 해석하는 기능도 제공한다. 운영체제와 빌드 도구, 컴파일러 실행 방식에 따라 적합한 방법이 달라진다. 빌드 시스템이 데이터베이스를 직접 내보낼 수 있다면 그 기능도 함께 검토한다.

기록의 완전성

일부 파일만 다시 컴파일한 실행에서는 필요한 명령이 모두 잡히지 않을 수 있다. 생성 파일과 대상 플랫폼, 빌드 구성을 확인하고 분석 대상에 맞는 기록을 사용한다. 데이터베이스 생성 자체가 코드의 정확성을 검사하는 것은 아니다.

관련 문서

Compiledb / Clangd / Ccls / Clang