Skip to main content

Enterprise Server 3.15 은(는) 현재 릴리스 후보로 제공됩니다.

데이터베이스 종료

[배관] 데이터베이스 만들기의 마지막 단계입니다.

누가 이 기능을 사용할 수 있나요?

CodeQL은(는) 다음 리포지토리 유형에 사용할 수 있습니다.

이 문서의 내용

이 콘텐츠는 CodeQL CLI의 최신 릴리스에 대해 설명합니다. 이 요소에 대한 자세한 내용은 https://github.com/github/codeql-cli-binaries/releases을(를) 참조하세요.

이전 릴리스에서 이 명령에 사용할 수 있는 옵션의 세부 정보를 보려면 터미널에서 옵션을 사용하여 --help 명령을 실행합니다.

개요

Shell
codeql database finalize [--dbscheme=<file>] [--threads=<num>] [--ram=<MB>] <options>... -- <database>

설명

[배관] 데이터베이스 만들기의 마지막 단계입니다.

codeql 데이터베이스 init를 사용하여 만든 후 codeql 데이터베이스 추적 명령을 사용하여 분석 데이터로 시드된 데이터베이스를 마무리합니다. 새 데이터베이스를 쿼리하려면 이 작업이 필요합니다.

옵션

기본 옵션

<database>

[필수] 생성 중인 CodeQL 데이터베이스의 경로입니다. codeql 데이터베이스 init을 사용하여 추출할 준비가 되어 있어야 합니다.

--db-cluster 옵션이 지정된 경우, 이는 데이터베이스 자체가 아니라 데이터베이스를 포함하는 디렉터리이며 이러한 모든 데이터베이스가 함께 처리됩니다.

--[no-]db-cluster

명령줄에 지정된 디렉터리가 데이터베이스 자체가 아니라 생성 중인 하나 이상의 데이터베이스를 포함하는 디렉터리임을 나타냅니다. 이러한 데이터베이스는 함께 처리됩니다.

--additional-dbs=<database>[:<database>...]

[고급] 생성 중인 추가 CodeQL 데이터베이스에 대한 경로입니다. 이러한 데이터 자체는 완료되지 않지만 해당 데이터는 생성되는 종료된 데이터베이스에 포함됩니다. 이 옵션은 모든 경우에 원하는 효과가 없을 수 있는 고급 옵션입니다. 자세한 내용은 codeql 데이터베이스 가져오기의 설명서를 참조하세요.

--db-cluster 옵션이 제공되면 개별 CodeQL 데이터베이스가 아닌 데이터베이스 클러스터가 될 것으로 예상됩니다.

(참고: Windows에서는 경로 구분 기호가 ;입니다.)

--no-cleanup

[고급] 종료 후 모든 데이터베이스 정리를 표시하지 않습니다. 디버깅 용도로 유용합니다.

--no-pre-finalize

[고급] 활성 CodeQL 추출기에서 지정한 사전 종료 스크립트를 건너뜁니다.

--[no-]skip-empty

[고급] 빌드 중에 소스 코드가 표시되지 않아 데이터베이스가 비어 있는 경우, 실패하는 대신 경고를 출력합니다. 빈 데이터베이스는 고정되지 않은 상태로 남아 있습니다.

TRAP 가져오기 작업을 제어하는 옵션

-S, --dbscheme=<file>

[고급] TRAP 파일이 준수하는 것으로 간주되는 자동 검색된 dbscheme 정의를 재정의합니다. 일반적으로 데이터베이스의 추출기에서 가져옵니다.

-j, --threads=<num>

가져오기 작업에 해당 스레드 수를 사용합니다.

기본값은 1입니다. 0을 전달하여 컴퓨터의 코어당 하나의 스레드를 사용하거나 -_N_을 전달하여 _N_개의 코어를 사용하지 않은 상태로 둘 수 있습니다(하나 이상의 스레드를 계속 사용하는 경우 제외).

-M, --ram=<MB>

가져오기 작업에 이 정도의 메모리를 사용합니다.

하위 수준 데이터 세트 정리 옵션

--max-disk-cache=<MB>

중간 쿼리 결과에 대해 디스크 캐시가 사용할 수 있는 최대 공간을 설정합니다.

이 크기가 명시적으로 구성되지 않은 경우 평가기는 데이터 세트의 크기와 쿼리의 복잡성에 따라 "합리적인" 양의 캐시 공간을 사용하려고 합니다. 이 기본 사용량보다 높은 한도를 명시적으로 설정하면 추가 캐싱이 가능해지므로 이후 쿼리의 속도를 높일 수 있습니다.

--min-disk-free=<MB>

[고급] 파일 시스템에서 사용 가능한 공간의 목표량을 설정합니다.

--max-disk-cache가 지정되지 않은 경우 파일 시스템의 사용 가능한 공간이 이 값 아래로 떨어지면 평가기는 디스크 캐시 사용량을 줄이려고 노력합니다.

--min-disk-free-pct=<pct>

[고급] 파일 시스템에서 사용 가능한 공간의 목표 비율을 설정합니다.

--max-disk-cache가 지정되지 않은 경우 파일 시스템의 사용 가능한 공간이 이 백분율 아래로 떨어지면 평가기는 디스크 캐시 사용량을 줄이려고 노력합니다.

--cache-cleanup=<mode>

캐시를 트리밍하는 방법을 적극적으로 선택합니다. 다음을 선택할 수 있습니다.

clear: 새로 추출된 데이터 세트의 상태로 트리밍하여 전체 캐시를 제거합니다.

trim(기본값): 명시적으로 "캐시된" 조건자를 제외한 모든 항목을 트리밍합니다.

fit: 디스크 캐시에 대해 정의된 크기 제한이 관찰되어 필요한 만큼 중간을 삭제해야 합니다.

--cleanup-upgrade-backups

데이터베이스 업그레이드로 인해 발생하는 백업 디렉터리를 삭제합니다.

가져온 TRAP 검사 옵션

--[no-]check-undefined-labels

[고급] 정의되지 않은 레이블에 대한 오류를 보고합니다.

--[no-]check-unused-labels

[고급] 사용하지 않는 레이블에 대한 오류를 보고합니다.

--[no-]check-repeated-labels

[고급] 반복되는 레이블에 대한 오류를 보고합니다.

--[no-]check-redefined-labels

[고급] 다시 정의된 레이블에 대한 오류를 보고합니다.

--[no-]check-use-before-definition

[고급] 정의하기 전에 사용된 레이블에 대한 오류를 보고합니다.

--[no-]fail-on-trap-errors

[고급] 트랩 가져오기 중에 오류가 발생하면 0이 아닌 값으로 종료합니다.

--[no-]include-location-in-star

[고급] 출처가 된 트랩 파일의 위치를 인코딩하는 엔터티 ID를 생성합니다. 트랩 생성기 디버깅에 유용할 수 있지만 데이터 세트에서 많은 공간을 차지합니다.

--[no-]linkage-aware-import

[고급] codeql 데이터 세트 가져오기가 연결 인식 (기본값) 인지 여부를 제어합니다. 데이터베이스 만들기의 이 부분이 너무 많은 메모리를 사용하는 프로젝트에서 이 옵션을 사용하지 않도록 설정하면 데이터베이스 완성도를 낮추는 대신 작업을 진행하는 데 도움이 될 수 있습니다.

v2.15.3부터 사용할 수 있습니다.

일반 옵션

-h, --help

이 도움말 텍스트를 표시합니다.

-J=<opt>

[고급] 명령을 실행하는 JVM에 옵션을 지정합니다.

(공백을 포함하는 옵션은 올바르게 처리되지 않을 수 있으니 주의하세요.)

-v, --verbose

출력되는 진행률 메시지 수를 점진적으로 늘립니다.

-q, --quiet

출력되는 진행률 메시지 수를 점진적으로 줄입니다.

--verbosity=<level>

[고급] 세부 정보 표시 수준을 오류, 경고, 진행률, 진행률+, 진행률++, 진행률+++ 중 하나로 명시적으로 설정합니다. -v-q를 재정의합니다.

--logdir=<dir>

[고급] 타임스탬프와 실행 중인 하위 명령의 이름을 포함하는 생성된 이름을 사용하여 지정된 디렉터리에 있는 하나 이상의 파일에 자세한 로그를 기록합니다.

(모든 권한을 가진 이름으로 로그 파일을 작성하려면 --log-to-stderr을(를) 지정하고 stderr를 원하는 대로 리디렉션합니다.)

--common-caches=<dir>

[고급] 다운로드한 QL 팩 및 컴파일된 쿼리 계획과 같이 여러 CLI 실행 간에 유지되는 디스크의 캐시된 데이터의 위치를 제어합니다. 명시적으로 설정하지 않은 경우 이 기본값은 사용자의 홈 디렉터리에 이름이 지정된 .codeql 디렉터리로 설정되며, 아직 없는 경우 만들어집니다.

v2.15.2부터 사용할 수 있습니다.