Skip to main content

쿼리 디컴파일

[내부 처리] .qlo 파일로부터 컴파일된 쿼리의 중간 표현을 읽습니다.

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

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

이 문서의 내용

참고 항목

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

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

개요

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

Description

          \[내부 처리] .qlo 파일로부터 컴파일된 쿼리의 중간 표현을 읽습니다.

--output 옵션을 지정하지 않으면 코드는 표준 출력으로 작성됩니다.

Options

기본 옵션

<file>

          \[필수] 읽어올 QLO 파일입니다.

-o, --output=<file>

원하는 출력을 작성할 파일입니다.

--kind=<kind>

읽어올 중간 표현의 유형입니다. 옵션은 다음과 같습니다.

          `dil`: Datalog 형식의 중간 표현입니다.

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

          `bytecode`: .qlo 파일의 원시(비압축) 바이트 코드를 보여 줍니다.

컴파일러/평가기를 디버깅하는 데 주로 유용합니다.

기본값은 쿼리가 --include-dil-in-qlo(으)로 컴파일된 경우 dil이고, 그렇지 않으면 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부터 사용할 수 있습니다.