Устранение неполадок: от установки до реализации
Изолируйте неудачные шаги и сузьте причину с помощью воспроизводимой информации.
Wave Foundation
Во-первых, различайте стадии неудачи.
| наблюдаемое явление | Сначала проверьте | следующее действие |
|---|---|---|
| wavec Команда не найдена | PATH и расположение исполняемого файла. | Запустите абсолютный путь и установите PATH. |
| Не могу найти файлы, необходимые для запуска | В папке установки отсутствуют какие-либо файлы? | Распакуйте и установите весь пакет заново |
| std import Ошибка | wavec print std-path |
Соответствие: Установите std или укажите --std-root |
| Расположение источника и вывод ошибок типа | wavec check main.wave |
Исправьте первую ошибку и проверьте еще раз |
| Сбой сборки для других целей OS·CPU | Указан target и целевая среда. | Настройки кросс-сборки Подтвердить |
| Выполнение завершается сбоем после успешной сборки | код выхода, ввод, рабочий каталог | Среда выполнения и проверка ошибок API |
Небольшой диагностический пример
Вот вся программа, которая намеренно неверна:
fun main() {
var count: i32 = 1;
println("{}", missing);
}
wavec check main.wave должно указывать на необъявленное имя missing. Измените имя переменной на count, затем проверьте и запустите снова. Сосредоточьтесь на файле, местоположении и причине, а не на всем диагностическом тексте. Последующие ошибки могут быть результатом первоначальной ошибки.
Когда исполняемый файл дает сбой
В оболочке Linux/macOS код выхода проверяется сразу после выполнения как echo $?, а в PowerShell — $LASTEXITCODE. Ошибка ввода и явное return 1 не являются одной и той же причиной. Неверные значения времени выполнения для количества смен или реального преобразования могут вызвать trap. Посмотрите правила эксплуатации.
На относительные пути к файлам влияет рабочий каталог исполняемого файла, а не расположение исходного файла. Не рассматривайте ошибку чтения файла как строку длиной 0, сначала проверьте возвращаемую ошибку. Ошибки сетевого подключения проверяются посредством поиска адреса, ожидания сервера, разрешений и тайм-аутов.
Информация, необходимая для сообщения о проблеме
wavec --versionВывод и точная команда.- target. указывается отдельно от хоста OS·архитектура
- Исходный код компилятора, используемый с выбранным путем std.
- Минимальный исходный код, входные данные и необходимые файлы для воспроизведения проблемы.
- Ожидаемые результаты, фактические результаты, коды диагностики и выхода.
Пароли, токены и содержимое личных файлов удаляются. Если проблема исчезнет, когда вы сократите минимальный пример, подсказкой станет последний удаленный элемент. --error-format=json доступен, когда инструмент собирает диагностические данные.