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>

Description

[Сантехника] Чтение промежуточного представления скомпилированного запроса из QLO-файла.

Код будет записан в стандартные выходные данные, если --output параметр не указан.

Параметры

Основные параметры

<file>

[Обязательный] QLO-файл для чтения из.

-o, --output=<file>

Файл для записи требуемых выходных данных.

--kind=<kind>

Тип промежуточного представления для чтения. Доступные параметры:

dil: промежуточное представление журнала данных.

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 и скомпилированные планы запросов. Если этот параметр не задан явным образом, по умолчанию используется каталог с именем .codeql в домашнем каталоге пользователя; он будет создан, если он еще не существует.

Доступно с момента v2.15.2.