Устранение неполадок профилировщика Xamarin

Ведение журнала и диагностика

Команда Xamarin может помочь отслеживать проблемы, если вы предоставляете нам информацию, в том числе:

  • Экранная рассылка проблемы, сбоя или сбоя, а также рабочий процесс, ведущий к нему.
  • Выходные данные журнала (см. ниже).
  • MLPD создается для сеанса профилирования (см. ниже).

Получение выходных данных журнала

В журналах Mac сохраняются ~/Library/Logs/Xamarin.Profiler/Profiler.<date>.logв .

В Windows они сохраняются %appdata%Local//Xamarin/Log/Xamarin.Profiler/Profiler.<date>.log в папке "Пожалуйста, включите последний журнал при отправке проблемы".

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

Создание MLPD-файлов

MLPD-файл — это сжатые выходные данные профилировщика среды выполнения mono. Xamarin Profiler GUI считывает данные из MLPD и отображает его для пользователя. MLPD-файлы являются полезными средствами отладки для Xamarin, так как они помогают нашим инженерам диагностировать проблемы, которые профилировщик может иметь с данными.

MLPD для текущего сеанса автоматически сохраняется в каталоге Mac /tmp и может быть определен меткой времени. Если включить ведение журнала, первые выходные данные будут пути к MLPD-файлу. Файл MLPD обычно сохраняется в каталоге, начиная с ~/var/папок...

MLPD для текущего сеанса также можно сохранить, выбрав команду "Сохранить файл > как..." в меню Профилировщика:

Visual Studio для Mac.

Saving .mlpd file in Visual Studio for Mac

Visual Studio.

Saving .mlpd file in Visual Studio

Важно отметить, что MLPD содержит много сведений, а размер файла будет большим.

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

В приведенном ниже списке показаны распространенные хоты, обходные пути и советы и рекомендации по использованию Профилировщика.

Примечание.

Чтобы разблокировать эту функцию в Visual Studio Enterprise в Windows или Visual Studio для Mac, необходимо быть подписчиком Visual Studio Enterprise.

Не удается увидеть параметр профилировщика iOS или неактивен [Visual Studio и Visual Studio для Mac]

Проверьте следующие параметры, чтобы устранить эту проблему:

  • Убедитесь, что используется конфигурация отладки
  • Убедитесь, что вы используете сборщик мусора SGen.
  • Убедитесь, что платформа поддерживается.
  • Убедитесь, что у вас есть правильная лицензия.
  • Убедитесь, что вы выполнили вход и правильно выполнили проверку подлинности.
  • [Visual Studio] Вы должны использовать Visual Studio Enterprise и иметь действительную лицензию Enterprise.

При попытке запустить профилировщик возникает ошибка.

Если при использовании профилировщика в Visual Studio возникает эта ошибка:

Error box when using the profiler in Visual Studio

Обычно это связано с тем, что не удается запустить симулятор или эмулятор. Попробуйте и запустите приложение обычно, исправьте проблемы, которые он дает, а затем повторите попытку использования профилировщика.

Просмотр определенного потока

Если у вас есть поток, который вы хотели специально смотреть, это было бы идеальное имя потока в самом начале его создания, чтобы получить ThreadName вместо 0x0. Например, чтобы задать имя потока как UI, можно использовать следующий код:

RunOnUiThread (() => {
  Thread.CurrentThread.Name  = "UI";
});