Примечание: Эта статья была перенесена с веб-сайта документации CodeQL в январе 2023 г.
Сведения о кодах выхода
CodeQL CLI сообщает о состоянии каждой выполняемой команды в виде кода выхода. Этот код выхода предоставляет сведения для последующих команд или других средств, использующих CodeQL CLI.
0
Успех, нормальное завершение.
1
Команда успешно определила, что ответ на ваш вопрос — "нет".
Этот код выхода используется только несколькими командами, такими как "тестовый запуск", "проверка набора данных", "формат запроса" и "resolve extractor". Дополнительные сведения см. в документации по этим командам.
2
Произошла ошибка.
Cli записывает в stderr понятное сообщение об ошибке.
Сюда входят случаи, когда средство извлечения завершается сбоем с внутренней ошибкой, так как codeql
драйвер не может различать внутренние и пользовательские ошибки в поведении средства извлечения.
3
Средство запуска не удалось найти каталог установки CodeQL.
В этом случае средство запуска не может запустить код Java для CodeQL CLI. Это должно произойти, только если что-то серьезно не так с установкой CodeQL.
32
Средство извлечения не обнаружило код для анализа при выполнении "AUTOTITLE" или "завершение работы с базой данных".
33
Истекло время ожидания одной или нескольких оценок запросов.
Возможно, некоторые запросы, которые были оценены параллельно, не истекли. Результаты для этих запросов создаются как обычно.
98
Оценка была явно отменена.
99
У CodeQL CLI закончилась память.
Это не обязательно означает, что была использована вся физическая ОЗУ компьютера.
Если вы не используете --ram
параметр для явного задания ограничения, виртуальная машина Java примет решение об ограничении по умолчанию при запуске.
100
Произошла неустранимая внутренняя ошибка.
Это следует считать ошибкой. Интерфейс командной строки обычно записывает сокращенное описание ошибки в stderr.
Если вы можете воспроизвести ошибку, рекомендуется использовать --logdir
и отправлять файлы журнала в GitHub в отчете об ошибках.
Другое
В случае действительно серьезных проблем в виртуальной машине JVM, которая выполняется codeql
, она может возвращать ненулевой код выхода по своему выбору.
Это должно произойти, только если что-то серьезно не так с установкой CodeQL или если возникла проблема с памятью в хост-системе, на котором выполняется процесс CodeQL. Например, системы Unix могут возвращать код выхода 137, чтобы указать, что ядро завершило процесс, который начал CodeQL. Одним из способов устранения этой проблемы является изменение –ram=
флага codeql database analyze
для шага и повторное выполнение рабочего процесса.