Skip to main content

쿼리 디컴파일

[연결] .qlo 파일에서 컴파일된 쿼리의 중간 표현을 읽습니다.

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

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

이 문서의 내용

Note

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

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

개요

Shell
codeql query decompile [--output=<file>] <options>... -- <file>

설명

[연결] .qlo 파일에서 컴파일된 쿼리의 중간 표현을 읽습니다.

--output 옵션을 지정하지 않으면 코드가 표준 출력에 기록됩니다.

옵션

기본 옵션

<file>

[필수] 읽을 QLO 파일입니다.

-o, --output=<file>

원하는 출력을 기록할 파일입니다.

--kind=<kind>

읽을 중간 표현의 종류입니다. 옵션은 다음과 같습니다.

dil: Datalog 중간 표현입니다.

ra: 관계형 대수 중간 표현입니다. 쿼리 평가 단계에서 사용됩니다.

bytecode: .qlo 파일의 원시(압축되지 않은) 바이트 코드를 표시합니다. 주로 컴파일러/평가기를 디버깅하는 데 유용합니다.

기본값은 dil이고(쿼리가 --include-dil-in-qlo로 컴파일된 경우) 그렇지 않은 경우 ra입니다.

일반 옵션

-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부터 사용할 수 있습니다.