Skip to main content

query decompile

[Conexão] Leia uma representação intermediária de uma consulta compilada de um arquivo .qlo.

Quem pode usar esse recurso?

O CodeQL está disponível para os seguintes tipos de repositórios:

Este conteúdo descreve a versão mais recente do CodeQL CLI. Para obter mais informações sobre essa versão, confira https://github.com/github/codeql-cli-binaries/releases.

Para ver os detalhes das opções disponíveis para esse comando em uma versão anterior, execute o comando com a opção --help no terminal.

Sinopse

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

Descrição

[Conexão] Leia uma representação intermediária de uma consulta compilada de um arquivo .qlo.

O código será gravado na saída padrão, a menos que a opção --output seja especificada.

Opções

Opções principais

<file>

[Obrigatório] Arquivo QLO do qual será feita a leitura.

-o, --output=<file>

O arquivo no qual a saída desejada será gravada.

--kind=<kind>

O tipo de representação intermediária a ser lida. As opções são:

dil: uma representação intermediária do Datalog.

ra: uma representação intermediária de álgebra relacional. Isso é usado pela fase de avaliação da consulta.

bytecode: mostra o código de byte bruto (descompactado) do arquivo .qlo. Principalmente útil para depurar o compilador/o avaliador.

O padrão é dil se a consulta foi compilada com --include-dil-in-qlo, caso contrário, ra

Opções comuns

-h, --help

Mostre este texto de ajuda.

-J=<opt>

[Avançado] Forneça a opção para a JVM que executa o comando.

(Use-a com cautela, pois as opções que contêm espaços não serão tratadas corretamente.)

-v, --verbose

Aumente incrementalmente o número de mensagens de progresso impressas.

-q, --quiet

Diminua incrementalmente o número de mensagens de progresso impressas.

--verbosity=<level>

[Avançado] Defina explicitamente o nível de detalhamento como erros, avisos, progresso, progresso+, progresso++ ou progresso+++. Substitui -v e -q.

--logdir=<dir>

[Avançado] Escreva logs detalhados em um ou mais arquivos no diretório fornecido, com nomes gerados que incluem carimbos de data/hora e o nome do subcomando em execução.

(Para gravar um arquivo de log com um nome sobre o qual você tem controle completo, forneça --log-to-stderr e redirecione stderr conforme desejado.)

--common-caches=<dir>

[Avançado] Controle a localização dos dados armazenados em cache no disco que persistirão entre várias execuções da CLI, como pacotes QL baixados e planos de consulta compilada. Se não for definido explicitamente, o padrão corresponde a um diretório intitulado .codeql no diretório inicial do usuário; que será criado se ainda não existir.

Disponível desde v2.15.2.