Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

database trace-command

[Сантехника] Выполните одну команду в рамках трассировки сборки.

GitHub CodeQL лицензируется на уровне пользователя после установки. CodeQL можно использовать только для определенных задач в соответствии с лицензионными ограничениями. Дополнительные сведения см. в разделе Сведения о CodeQL CLI.

Если у вас есть учетная запись GitHub Enterprise и лицензия на GitHub Advanced Security, вы можете использовать CodeQL для автоматического анализа, непрерывной интеграции и непрерывной поставки. Вы можете создать корпоративную учетную запись, обратившись в отдел продаж. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

В этом материале описывается последний выпуск Интерфейса командной строки CodeQL. Дополнительные сведения об этом выпуске см. в разделе https://github.com/github/codeql-cli-binaries/releases.

Чтобы просмотреть сведения о параметрах, доступных для этой команды в более раннем выпуске, выполните команду с параметром в терминале --help .

Краткий обзор

Shell
codeql database trace-command [--threads=<num>] [--ram=<MB>] [--extractor-option=<extractor-option-name=value>] <options>... -- <database> <command>...

Описание

[Сантехника] Выполнение одной команды в рамках трассировки сборки.

При этом выполняется одна заданная командная строка в трассировке, что, возможно, выполняет некоторое извлечение, но не завершает итоговую базу данных CodeQL.

Основные параметры

<database>

[Обязательный] Путь к строяемой базе данных CodeQL. Он должен быть подготовлен для извлечения с помощью инициализации базы данных codeql.

--db-cluster Если параметр задан, это не сама база данных, а каталог, содержащий базы данных, и все эти базы данных будут обрабатываться вместе.

<command>...

Выполняемая команда Он может состоять из одного или нескольких аргументов, которые используются для создания процесса. Рекомендуется передать аргумент "--" перед перечислением аргументов команды, чтобы избежать путаницы между ее аргументами и нашими аргументами.

Ожидается, что команда завершит работу с кодом состояния 0. Любой другой код выхода интерпретируется как сбой.

Команда может быть опущена при --index-traceless-dbs указании .

-j, --threads=<num>

Попросите средство извлечения использовать это количество потоков. Этот параметр передается в средство извлечения в качестве предложения. Если задана переменная среды CODEQL_THREADS, значение переменной среды имеет приоритет над этим параметром.

Можно передать 0, чтобы использовать один поток на каждом ядре на компьютере, или -N , чтобы оставить N ядер неиспользуемых (за исключением использования хотя бы одного потока).

-M, --ram=<MB>

Попросите средство извлечения использовать этот объем памяти. Этот параметр передается в средство извлечения в качестве предложения. Если задана переменная среды ОЗУ CODEQL_, значение переменной среды имеет приоритет над этим параметром.

--[no-]db-cluster

Указывает, что каталог, заданный в командной строке, является не самой базой данных, а каталогом, содержащим одну или несколько баз данных, которые строят. Эти базы данных будут обрабатываться вместе.

--no-tracing

[Дополнительно. Не отслеживайте указанную команду, а полагайтесь на нее для получения всех необходимых данных напрямую.

--extra-tracing-config=<tracing-config.lua>

[Дополнительно] Путь к файлу конфигурации трассировки. Его можно использовать для изменения поведения трассировки сборки. Его можно использовать для выбора процессов компилятора, которые выполняются в рамках команды сборки, и запуска выполнения других средств. Средства извлечения предоставляют файлы конфигурации трассировки по умолчанию, которые должны работать в большинстве ситуаций.

--[no-]index-traceless-dbs

В дополнение к указанной команде запустите скрипт main для средств извлечения, которые не зависят от трассировки процесса сборки. Если вы создаете базы данных для нескольких языков с --db-clusterпомощью , этот параметр следует предоставить ровно одному вызову команды trace-базы данных codeql.

--working-dir=<dir>

[Дополнительно] Каталог, в котором должна выполняться указанная команда. Если этот аргумент не указан, команда выполняется в значении , переданном --source-root в codeql database create, если оно существует. Если аргумент не --source-root указан, команда выполняется в текущем рабочем каталоге.

--no-run-unnecessary-builds

[Дополнительно. Выполнение указанных команд сборки выполняется только в том случае, если в строящихся базах данных используется средство извлечения, зависящее от трассировки процесса сборки. Если этот параметр не задан, команда будет выполняться даже в том случае, если она не требуется CodeQL, исходя из предположения, что ее побочные эффекты нужны по другим причинам.

Параметры для управления поведением средства извлечения

-O, --extractor-option=<extractor-option-name=value>

Задайте параметры для средств извлечения CodeQL. extractor-option-name значение должно иметь имя средства извлечения_формы.group1.group2.option_name или group1.group2.option_name. Если extractor_option_name начинается с имени средства извлечения, указанный метод извлечения должен объявить имя параметра group1.group2.option_. В противном случае для любого средства извлечения, объявляющего имя параметра group1.group2.option_, будет задан параметр . value может быть любой строкой, которая не содержит новую строку.

Этот параметр командной строки можно использовать несколько раз, чтобы задать несколько параметров средства извлечения. При указании нескольких значений для одного и того же параметра средства извлечения поведение зависит от типа, ожидаемого параметром средства извлечения. Строковые параметры будут использовать последнее указанное значение. Параметры массива будут использовать все указанные значения по порядку. Параметры средства извлечения, указанные с помощью этого параметра командной строки, обрабатываются после параметров средства извлечения, заданных с помощью --extractor-options-file.

При передаче в инициализацию базы данных codeql или codeql database begin-tracingпараметры будут применяться только к среде косвенной трассировки. Если рабочий процесс также вызывает команду trace-command базы данных codeql , при необходимости необходимо передать в нее параметры.

См https://codeql.github.com/docs/codeql-cli/extractor-options . дополнительные сведения о параметрах средства извлечения CodeQL, в том числе о том, как вывести список параметров, объявленных каждым из средств извлечения.

--extractor-options-file=<extractor-options-bundle-file>

Укажите файлы пакетов параметров извлечения. Файл пакета параметров извлечения — это JSON-файл (расширение .json) или ФАЙЛ YAML (расширение .yaml или .yml), который задает параметры средства извлечения. Файл должен содержать ключ карты верхнего уровня extractor и имена средств извлечения в виде ключей карты второго уровня. Дополнительные уровни карт представляют вложенные группы средств извлечения, а параметры строк и массивов — это записи карты со значениями строк и массивов.

Файлы пакета параметров извлечения считываются в указанном порядке. Если в разных файлах пакета параметров средства извлечения указан один и тот же параметр извлечения, поведение зависит от типа, который ожидает параметр средства извлечения. Строковые параметры будут использовать последнее указанное значение. Параметры массива будут использовать все указанные значения по порядку. Параметры средства извлечения, указанные с помощью этого параметра командной строки, обрабатываются перед параметрами средства извлечения, заданными с помощью --extractor-option.

При передаче в инициализацию базы данных codeql или codeql database begin-tracingпараметры будут применяться только к среде косвенной трассировки. Если рабочий процесс также вызывает команду trace-command базы данных codeql , при необходимости необходимо передать в нее параметры.

См https://codeql.github.com/docs/codeql-cli/extractor-options . дополнительные сведения о параметрах средства извлечения CodeQL, в том числе о том, как вывести список параметров, объявленных каждым из средств извлечения.

Общие параметры

-h, --help

Показать этот текст справки.

-J=<opt>

[Дополнительно] Предоставьте параметр виртуальной машине Java, запустив команду .

(Остерегайтесь, что параметры, содержащие пробелы, будут обрабатываться неправильно.)

-v, --verbose

Добавочное увеличение числа выводемых сообщений о ходе выполнения.

-q, --quiet

Постепенно уменьшайте количество выводемых сообщений о ходе выполнения.

--verbosity=<level>

[Дополнительно] Явно задайте уровень детализации для одной из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v и -q.

--logdir=<dir>

[Дополнительно] Запись подробных журналов в один или несколько файлов в заданном каталоге с созданными именами, включая метки времени и имя выполняющейся подкоманды.

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого при необходимости предоставьте --log-to-stderr и перенаправьте stderr.)