Skip to main content

query decompile

[Plomberie] Lit une représentation intermédiaire d’une requête compilée à partir d’un fichier .qlo.

Qui peut utiliser cette fonctionnalité ?

CodeQL est disponible pour les types de référentiels suivants :

Ce contenu décrit la version la plus récente de CodeQL CLI. Pour plus d’informations sur cette version, consultez https://github.com/github/codeql-cli-binaries/releases.

Pour voir les détails des options disponibles pour cette commande dans une version antérieure, exécutez la commande avec l’option --help dans votre terminal.

Synopsis

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

Description

[Plomberie] Lit une représentation intermédiaire d’une requête compilée à partir d’un fichier .qlo.

Le code est écrit dans la sortie standard, sauf si l’option --output est spécifiée.

Options

Options principales

<file>

[Obligatoire] Fichier QLO à partir duquel lire.

-o, --output=<file>

Fichier sur lequel écrire la sortie souhaitée.

--kind=<kind>

Type de représentation intermédiaire à lire. Les options sont :

dil : Représentation intermédiaire de datalog

ra : Représentation intermédiaire d’algèbre relationnelle. Utilisé par la phase d’évaluation de la requête.

bytecode : Affiche le bytecode brut (non compressé) du fichier .qlo. Principalement utile pour le débogage du compilateur/de l’évaluateur.

L’option par défaut est dil si la requête a été compilée avec --include-dil-in-qlo, sinon ra

Options courantes

-h, --help

Affiche ce texte d’aide.

-J=<opt>

[Avancé] Donne une option à l’environnement JVM exécutant la commande.

(Attention, les options contenant des espaces ne sont pas gérées correctement.)

-v, --verbose

Augmente de façon incrémentielle le nombre de messages de progression affichés.

-q, --quiet

Diminue de façon incrémentielle le nombre de messages de progression affichés.

--verbosity=<level>

[Avancé] Définit explicitement le niveau de détail sur errors, warnings, progress, progress+, progress++ ou progress+++. Remplace -v et -q.

--logdir=<dir>

[Avancé] Écrit des journaux détaillés dans un ou plusieurs fichiers du répertoire donné, avec des noms générés qui incluent des horodatages et le nom de la sous-commande en cours d’exécution.

(Pour écrire un fichier journal avec un nom sur lequel vous avez un contrôle total, donnez plutôt --log-to-stderr et redirigez stderr comme vous le souhaitez.)

--common-caches=<dir>

[Avancé] Contrôle l’emplacement des données en cache sur le disque qui persisteront entre plusieurs exécutions de l’interface CLI, telles que les packs QL téléchargés et les plans de requête compilés. S’il n’est pas défini explicitement, il s’agit par défaut d’un répertoire nommé .codeql dans le répertoire de base de l’utilisateur. S’il n’existe pas déjà, il est créé.

Disponible depuis v2.15.2.