출력에서 명령 추출
빌드가 출력하는 컴파일 명령을 분석해 소스 파일과 인자, 작업 위치를 정리한다. 생성된 기록은 소스를 이해하는 도구가 헤더 경로와 매크로 등을 적용하는 데 쓰인다. 실제 빌드와 같은 조건을 나타내는 로그를 준비해야 한다.
실행과 해석 구분
Make를 감싸 실행하면서 데이터베이스를 만들 수 있으며 이 방식은 기본적으로 실제 빌드도 수행한다. 빌드를 하지 않는 옵션과 기존 로그를 읽는 방식도 있다. 명령을 표시하는 Make 실행과 실제 컴파일 실행을 구분해 사용한다.
구성별 관리
서로 다른 타깃이나 디버그 및 릴리스 구성을 섞으면 분석 결과가 실제 빌드와 달라질 수 있다. 컴파일러 명령을 숨기는 래퍼나 특수한 로그 형식도 확인한다. 데이터베이스에 필요한 파일이 들어 있는지 생성 후 점검한다.
관련 문서
Bear 컴파일 데이터베이스 / Clangd / Ccls / Clang-Tidy