Skip to main content

query decompile

[Asociación] Lee una representación intermedia de una consulta compilada desde un archivo .qlo.

¿Quién puede utilizar esta característica?

CodeQL está disponible para los siguientes tipos de repositorios:

En este artículo

Nota:

En este contenido se describe la versión más reciente de CodeQL CLI. Para obtener más información sobre esta versión, consulta https://github.com/github/codeql-cli-binaries/releases.

Para ver detalles de las opciones disponibles para este comando en una versión anterior, ejecuta el comando con la opción --help en el terminal.

Sinopsis

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

Description

          \[Asociación] Lee una representación intermedia de una consulta compilada desde un archivo .qlo.

El código se escribirá en la salida estándar, a menos que se especifique la opción --output.

Options

Opciones principales

<file>

          \[Obligatorio] Archivo QLO del que se va a leer.

-o, --output=<file>

El archivo donde se va a escribir la salida deseada.

--kind=<kind>

Tipo de la representación intermedia que se va a leer. Las opciones son:

          `dil`: representación intermedia de Datalog.

          `ra`: representación intermedia del álgebra relacional. Se usa en la fase de evaluación de consultas.

          `bytecode`: muestra el código de bytes sin procesar (sin comprimir) del archivo .qlo.

Resulta útil sobre todo para depurar el compilador o el evaluador.

El valor predeterminado es dil si la consulta se ha compilado con --include-dil-in-qlo y ra en caso contrario.

Opciones comunes

-h, --help

Muestra este texto de ayuda.

-J=<opt>

          \[Avanzado] Asigna la opción a la JVM que ejecuta el comando.

(Ten en cuenta que las opciones que contienen espacios no se administrarán correctamente).

-v, --verbose

Aumenta incrementalmente el número de mensajes de progreso impresos.

-q, --quiet

Reduce incrementalmente el número de mensajes de progreso impresos.

--verbosity=<level>

          \[Avanzado] Establece explícitamente el nivel de detalle en errores, advertencias, progreso, progreso+, progreso++, progreso+++. Invalida `-v` y `-q`.

--logdir=<dir>

          \[Avanzado] Escribe registros detallados en uno o varios archivos del directorio especificado, con nombres generados que incluyen marcas de tiempo y el nombre del subcomando en ejecución.

(Para escribir un archivo de registro con un nombre sobre el que tienes control total, proporciona --log-to-stderr y redirige stderr como quieras).

--common-caches=<dir>

          \[Avanzado] Controla la ubicación de los datos en caché del disco que se conservarán entre varias ejecuciones de la CLI, como paquetes QL descargados y planes de consulta compilada. Si no se define explícitamente, se toma como predeterminado un directorio denominado `.codeql` en el directorio principal del usuario, que se creará en caso de que no exista.

Disponible desde la versión v2.15.2.