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

диагностика экспорта базы данных

[Экспериментальный] Экспорт диагностических данных из базы данных для анализа сбоя.

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 export-diagnostics --format=<format> [--output=<output>] <options>... -- <database>

Описание

[Экспериментальный] Экспорт диагностических данных из базы данных для неудачного анализа.

Доступно начиная с v2.12.6.

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

<database>

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

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

--format=<format>

[Обязательно] Формат, в котором записываются результаты. Одно из двух значений:

raw: список необработанных неинтерпретированных диагностических сообщений в виде объектов JSON.

sarif-latest: формат обмена результатами статического анализа (SARIF), формат на основе JSON для описания результатов статического анализа. Этот параметр форматирования использует последнюю поддерживаемую версию (v2.1.0). Этот параметр не подходит для использования в автоматизации, так как он создает разные версии SARIF в разных версиях CodeQL.

sarifv2.1.0: SARIF версии 2.1.0.

text: список маркеров диагностических сообщений.

--[no-]db-cluster

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

-o, --output=<output>

Выходной путь для записи диагностических данных.

--sarif-exit-code=<sarifExitCode>

[Только форматы SARIF] Код выхода из процесса, завершающегося сбоем.

--sarif-exit-code-description=<sarifExitCodeDescription>

[Только форматы SARIF] Причина завершения неудачного процесса.

--sarif-category=<category>

[Только форматы SARIF] Укажите категорию для этого анализа, включаемую в выходные данные SARIF. Категорию можно использовать для различения нескольких анализов, выполняемых в одной фиксации и репозитории, но на разных языках или в разных частях кода.

Если вы анализируете одну и ту же версию базы кода несколькими разными способами (например, для разных языков) и отправляете результаты в GitHub для представления в разделе "Сканирование кода", это значение должно отличаться в каждом анализе, что указывает, что анализ дополняет, а не заменяет друг друга. (Значения должны быть согласованными при выполнении одного и того же анализа для разных версий базы кода.)

Это значение будет отображаться (с добавлением косой черты в конце, если ее еще нет) в качестве свойства <run>.automationId в SARIF v1, свойства <run>.automationLogicalId в SARIF v2 и свойства <run>.automationDetails.id в SARIF v2.1.0.

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

-h, --help

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

-J=<opt>

[Дополнительно] Предоставьте параметр виртуальной машине JVM, выполняющую команду .

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

-v, --verbose

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

-q, --quiet

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

--verbosity=<level>

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

--logdir=<dir>

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

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