Перейти к основному содержимому

Обнаружение проблем

Это общее руководство по устранению неисправностей при обнаружении любых проблем, возникающих в проектах FlutterFlow.

Мы улучшили возможности обнаружения проблем и добавили функции, которые дают более чёткое представление о возможных причинах. Вот несколько способов устранения неполадок.

Панель Debug Info (режим тестирования)

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

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

Чтобы использовать панель Debug Info:

  1. Запустите приложение в режиме тестирования — панель Debug Info появится слева.
  2. При взаимодействии с приложением значения переменных обновляются в реальном времени. Отслеживайте изменения, чтобы понять, как действия пользователя влияют на состояние приложения.

Пример

Допустим, вы работаете над приложением интернет-магазина и при тестировании замечаете, что переменная неожиданно становится null. Из-за этого приложение отображает неверную информацию пользователю.

null

С помощью панели Debug Info вы легко обнаружите, что переменная выпадающего списка остаётся null, пока пользователь не выберет значение. Определив причину, внесите нужные изменения, чтобы переменная инициализировалась корректно. Затем повторно протестируйте приложение и убедитесь, что информация отображается правильно.

Открытие логов отладки

Чтобы открыть логи отладки, запустите приложение в режиме Run/Test и выполните:

Для Google Chrome

  • Windows: F12 или Ctrl+Shift+J
  • Mac: F12 или ⌘+Option+J

Для Safari

Перейдите в Настройки > Дополнительно и включите «Показывать меню разработчика». Затем используйте ⌘+Option+C, чтобы открыть консоль.

Откроется консоль, где ошибки будут выделены красным цветом.

Логи устройства в десктопном приложении

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

Например, если пользователь ввёл символ вместо числового значения для количества товара (что недопустимо), ошибка будет записана в логах устройства с точным указанием проблемы.

подсказка

Если значение ошибки непонятно, скопируйте весь текст ошибки и вставьте в ChatGPT — запросите объяснение или решение.

Для этого случая мы обратились к ChatGPT, чтобы получить разъяснение и инструкцию по исправлению — решение оказалось очень простым!

Логи устройства в десктопном приложении

Всплывающее уведомление об ошибке

Если появляется всплывающее окно, откройте красную секцию (нажмите Read More) — внизу будет указано точное имя виджета или ошибка, вызвавшая сбой сборки или загрузки.

Рассмотрим пару примеров, с которыми вы можете столкнуться при сборке приложения:

Пример 1

Допустим, у вас есть виджет Text, и вы добавили неполное действие. При попытке загрузки проекта в таком состоянии может появиться следующее:

Обнаружение проблемы — 1

Чтобы найти проблемный виджет в дереве, читайте список виджетов в окне (сверху вниз) и определяйте по номеру дочернего элемента. Например, если указано Child 1, это первый дочерний элемент предыдущего виджета (см. в окне). Если Child 2, 3 — это соседние виджеты.

Если вы именуете виджеты, поиск будет простым — отобразится точное имя. Вот как это выглядит:

Обнаружение проблемы — 2

к сведению

Чтобы узнать, что вызвало сбой виджета, проверьте ошибки в проблемах проекта.

Пример 2

Допустим, вы добавили кастомный виджет, который работал нормально. Но при редактировании допустили опечатку в коде — теперь отображается:

Ошибка при сборке приложения

Вторая строка "Error:" явно указывает на проблему с именем метода в кастомном коде.

Ошибки выполнения (уведомления только в режиме Run)

Ошибки выполнения — это ошибки, возникающие во время работы приложения. В отличие от ошибок, отображаемых при сборке, они проявляются только при запуске.

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

Мы показываем такие ошибки в виде уведомления только в режиме Run в snackbar. Пример:

Ошибки выполнения