# query decompile

[Plumbing] Liest eine Zwischendarstellung einer kompilierten Abfrage aus einer QLO-Datei.

> [!NOTE]
> In diesem Inhalt wird die neueste Version von CodeQL CLI beschrieben. Weitere Informationen zu diesem Thema findest du unter https://github.com/github/codeql-cli-binaries/releases.
>
> Um Details zu den Optionen anzuzeigen, die für diesen Befehl in früheren Releases verfügbar sind, führe den Befehl mit der Option <span style="white-space: nowrap;">`--help`</span> im Terminal aus.

## Zusammenfassung

```shell copy
codeql query decompile [--output=<file>] <options>... -- <file>
```

## Description

              \[Plumbing] Liest eine Zwischendarstellung einer kompilierten Abfrage aus einer .qlo-Datei.

Der Code wird in die Standardausgabe geschrieben, es sei denn, die Option `--output` wurde angegeben.

## Options

### Primäre Optionen

#### `<file>`

              \[Erforderlich] QLO-Datei, aus der gelesen werden soll.

#### `-o, --output=<file>`

Die Datei, in die die gewünschte Ausgabe geschrieben werden soll.

#### `--kind=<kind>`

Der Typ der zu lesenden Zwischendarstellung. Die Optionen sind:

              `dil`: Eine Datalog-Zwischendarstellung.

              `ra`: Eine relationale Algebra-Zwischendarstellung. Wird während der Auswertungsphase der Abfrage verwendet.

              `bytecode`: Zeigt den rohen (unkomprimierten) Bytecode aus der .qlo-Datei an.
Dieser ist meistens für das Debuggen des Compilers/Evaluators nützlich.

Der Standardwert ist `dil`, wenn die Abfrage mit `--include-dil-in-qlo` kompiliert wurde, und andernfalls `ra`.

### Allgemeine Optionen

#### `-h, --help`

Zeigt diesen Hilfetext an.

#### `-J=<opt>`

              \[Erweitert] Dient zum Angeben einer Option für die JVM-Instanz, die den Befehl ausführt.

(Beachte, dass Optionen, die Leerzeichen enthalten, nicht ordnungsgemäß verarbeitet werden.)

#### `-v, --verbose`

Ermöglicht die inkrementelle Erhöhung der Anzahl ausgegebener Statusmeldungen.

#### `-q, --quiet`

Ermöglicht die inkrementelle Verringerung der Anzahl ausgegebener Statusmeldungen.

#### `--verbosity=<level>`

              \[Erweitert] Dient zum expliziten Festlegen des Ausführlichkeitsgrads auf „errors“, „warnings“, „progress“, „progress+“, „progress++“ oder „progress+++“. Überschreibt `-v` und `-q`:

#### `--logdir=<dir>`

              \[Erweitert] Ermöglicht das Schreiben detaillierter Protokolle in eine oder mehrere Dateien im angegebenen Verzeichnis mit generierten Namen, die Zeitstempel und den Namen des ausgeführten Unterbefehls enthalten.

(Um eine Protokolldatei mit einem Namen zu schreiben, über den du die volle Kontrolle hast, gib stattdessen `--log-to-stderr` an, und leite stderr wie gewünscht um.)

#### `--common-caches=<dir>`

              \[Erweitert] Steuert den Speicherort zwischengespeicherter Daten auf dem Datenträger, der zwischen mehreren Ausführungsvorgängen der CLI beibehalten wird, z. B. heruntergeladene QL-Pakete und kompilierte Abfragepläne. Wenn dies nicht explizit festgelegt ist, wird dieses Verzeichnis standardmäßig auf ein Verzeichnis mit dem Namen `.codeql` festgelegt, das sich im Startverzeichnis des Benutzer. Es wird erstellt, wenn es noch nicht vorhanden ist.

Verfügbar seit `v2.15.2`.