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 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>

Descripción

[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.

Opciones

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.