Unity 6.3
0 онлайн 20 гостей 3 в системе
Вход

Устранение неполадок отладки

Большинство проблем с отладчиком возникают из-за того, что IDE не может найти Unity Editor или Unity Player. Это означает, что Unity Editor или Player не могут правильно подключить отладчик. Поскольку отладчик использует TCP подключение к Редактору или Player, проблемы с подключением часто вызваны сетью. Ниже приведены несколько шагов, которые вы можете предпринять для устранения основных проблем с подключением.

Убедитесь, что отладчик подключен к правильному экземпляру Unity

Вы можете подключить IDE к любому экземпляру Unity Editor или Unity Player в локальной сети, в которой включена отладка. При подключении отладчика убедитесь, что вы подключили его к правильному экземпляру Unity. Если вы знаете адрес IP или имя компьютера устройства, на котором запущен Unity Player, это поможет вам найти правильный экземпляр.

Проверка сетевого подключения к экземпляру Unity

IDE использует тот же механизм для нахождения экземпляра Unity для отладки, что и Unity Profiler. Если IDE не может найти ожидаемый экземпляр Unity, попробуйте , чтобы подключить экземпляр Profiler к этому экземпляру. Если Profiler также не может найти экземпляр Unity, возможно, на компьютере, на котором запущен экземпляр IDE или Unity, установлен брандмауэр. Если брандмауэр установлен, см. Проверьте настройки брандмауэр.

Убедитесь, что на устройстве активен только один сетевой интерфейс

У многих устройств несколько сетевых интерфейсов. Например, у мобильного телефона могут быть одновременно активны сотовое соединение и Wi-Fi. Чтобы отладчик корректно подключился к экземпляру Unity по TCP, IDE должна установить сетевое соединение именно с нужным интерфейсом устройства. Если вы, например, планируете отлаживать по Wi-Fi, переведите устройство в режим полёта, чтобы отключить остальные интерфейсы, а затем включите Wi-Fi.

Вы можете определить, какой адрес IP Игрок Unity говорит IDE использовать, посмотрев в Журнал Игрока. Посмотрите на часть журнала, как это:

Multi-casting "[IP] 10.0.1.152 [Port] 55000 [Flags] 3 [Guid] 2575380029 [EditorId] 4264788666 [Version] 1048832 [Id] iPhonePlayer(Example-iPhone):56000 [Debug] 1 [PackageName] iPhonePlayer" to [225.0.0.222:54997]...

Это сообщение указывает, что IDE попытается использовать адрес IP, 10.0.1.152 и порт 56000 для подключения к устройству. Этот адрес IP и порт должны быть доступны с компьютера, работающего под управлением IDE.

Проверьте настройки брандмауэра

Экземпляр Unity взаимодействует с экземпляром IDE, используя соединение TCP. На большинстве платформ Unity это соединение TCP происходит на произвольно выбранном порту. Обычно вам не нужно знать этот порт, так как IDE должен обнаружить его автоматически. Если это не работает, используйте инструмент анализа сети, чтобы определить, какие порты могут быть заблокированы либо на компьютере, на котором работает экземпляр IDE, либо на компьютере или устройстве, на котором работает экземпляр Unity. Когда вы найдете порты, убедитесь, что ваш брандмауэр разрешает доступ к порту как на компьютере, на котором работает экземпляр IDE, так и на компьютере, на котором работает экземпляр Unity.

Проверка наличия сведений об управляемой отладке

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

При включении правильной настройки и параметров сборкиUnity автоматически генерирует эту информацию об отладке. Однако Unity не может генерировать информацию об отладке для управляемых плагинов в вашем проекте. Вы можете отладывать код из управляемых плагинов только в том случае, если соответствующие файлы .pdb находятся рядом с управляемыми плагинами в проекте Unity на диске.

Предотвращение блокировки устройства

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

Утечки памяти и потоков из-за отладчика

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

Дополнительные ресурсы