В этом материале описывается последний выпуск Интерфейса командной строки CodeQL. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.
Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help
.
Краткий обзор
codeql database finalize [--dbscheme=<file>] [--threads=<num>] [--ram=<MB>] [--mode=<mode>] <options>... -- <database>
Описание
[Сантехника] Заключительные шаги по созданию базы данных.
Завершите работу базы данных, созданной с помощью инициализации базы данных codeql и последующего заполнения аналитическими данными, с помощью команды trace базы данных codeql. Это должно произойти до того, как можно будет запросить новую базу данных.
Основные параметры
<database>
[Обязательный] Путь к строяемой базе данных CodeQL. Он должен быть подготовлен для извлечения с помощью инициализации базы данных codeql.
--db-cluster
Если параметр задан, это не сама база данных, а каталог, содержащий базы данных, и все эти базы данных будут обрабатываться вместе.
--[no-]db-cluster
Указывает, что каталог, заданный в командной строке, является не самой базой данных, а каталогом, содержащим одну или несколько баз данных, которые строят. Эти базы данных будут обрабатываться вместе.
--additional-dbs=<database>[:<database>...]
[Дополнительно] Путь к дополнительным базам данных CodeQL в стадии разработки. Они сами по себе не будут завершены, но данные из них будут включены в созданную базу данных. Это расширенный вариант, который может не иметь желаемого эффекта во всех случаях. Дополнительные сведения см. в документации по импорту базы данных codeql.
--db-cluster
Если этот параметр задан, ожидается, что это будут кластеры баз данных, а не отдельные базы данных CodeQL.
(Примечание. В Windows разделитель пути — ).;
--no-cleanup
[Дополнительно] Подавлять очистку всех баз данных после завершения. Полезно для отладки.
--no-pre-finalize
[Дополнительно] Пропустите любой скрипт предварительной завершения, указанный активным методом извлечения CodeQL.
--[no-]skip-empty
[Дополнительно] Выводит предупреждение вместо сбоя, если база данных пуста, так как во время сборки исходный код не отображается. Пустая база данных останется неопределенной.
Параметры управления операцией импорта TRAP
-S, --dbscheme=<file>
[Дополнительно. Переопределите автоматически обнаруженное определение dbscheme, которому, как предполагается, соответствуют файлы TRAP. Как правило, он берется из средства извлечения базы данных.
-j, --threads=<num>
Используйте это количество потоков для операции импорта.
По умолчанию равен 1. Можно передать 0, чтобы использовать один поток на каждом ядре на компьютере, или -N , чтобы оставить N ядер неиспользуемых (за исключением использования хотя бы одного потока).
-M, --ram=<MB>
Используйте этот объем памяти для операции импорта.
Параметры очистки низкоуровневого набора данных
--max-disk-cache=<MB>
Задайте максимальный объем пространства, который может использовать кэш диска для промежуточных результатов запроса.
Если этот размер не настроен явным образом, средство оценки попытается использовать "разумный" объем кэша в зависимости от размера набора данных и сложности запросов. Явное задание более высокого предела, чем это использование по умолчанию, включит дополнительное кэширование, что может ускорить последующие запросы.
--min-disk-free=<MB>
[Дополнительно] Задайте целевой объем свободного места в файловой системе.
Если --max-disk-cache
значение не задано, средство оценки попытается ограничить использование кэша диска, если свободное пространство в файловой системе окажется ниже этого значения.
--min-disk-free-pct=<pct>
[Дополнительно] Задайте целевую долю свободного места в файловой системе.
Если --max-disk-cache
значение не задано, средство оценки попытается ограничить использование кэша диска, если свободное пространство в файловой системе будет меньше этого процента.
-m, --mode=<mode>
Выберите, как агрессивно обрезать кэш. Можно выбрать:
brutal
: удаление всего кэша с обрезкой до состояния только что извлеченного набора данных.
normal
(по умолчанию): обрезка всех предикатов, кроме явно кэшированных предикатов.
light
: просто убедитесь, что определенные ограничения размера кэша диска соблюдаются, удаляя столько промежуточных параметров, сколько необходимо.
--cleanup-upgrade-backups
Удалите все каталоги резервного копирования, полученные в результате обновления базы данных.
Параметры проверки импортированных параметров TRAP
--[no-]check-undefined-labels
[Дополнительно] Сообщать об ошибках для неопределенных меток.
--[no-]check-unused-labels
[Дополнительно] Сообщать об ошибках для неиспользуемых меток.
--[no-]check-repeated-labels
[Дополнительно] Сообщать об ошибках для повторяющиеся метки.
--[no-]check-redefined-labels
[Дополнительно] Сообщать об ошибках для переопределенных меток.
--[no-]check-use-before-definition
[Дополнительно] Сообщите об ошибках для меток, используемых до их определения.
--[no-]fail-on-trap-errors
[Дополнительно] Выйдите из ненулевых, если во время импорта ловушки возникает ошибка.
--[no-]include-location-in-star
[Дополнительно] Создайте идентификаторы сущностей, которые кодируют расположение в файле TRAP, из чего они поступили. Может быть полезно для отладки генераторов TRAP, но занимает много места в наборе данных.
Общие параметры
-h, --help
Показать этот текст справки.
-J=<opt>
[Дополнительно] Предоставьте параметр виртуальной машине Java, запустив команду .
(Остерегайтесь, что параметры, содержащие пробелы, будут обрабатываться неправильно.)
-v, --verbose
Добавочное увеличение числа выводемых сообщений о ходе выполнения.
-q, --quiet
Постепенно уменьшайте количество выводемых сообщений о ходе выполнения.
--verbosity=<level>
[Дополнительно] Явно задайте уровень детализации для одной из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v
и -q
.
--logdir=<dir>
[Дополнительно] Запись подробных журналов в один или несколько файлов в заданном каталоге с созданными именами, включая метки времени и имя выполняющейся подкоманды.
(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого при необходимости предоставьте --log-to-stderr
и перенаправьте stderr.)