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

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

Команда Xamarin может помочь отслеживать проблемы, если нам предоставить сведения, включая:The Xamarin team can help track issues if you provide us with information, including:

  • Презентация проблему, сбоя или сбоя и рабочий процесс, привели к нему.A Screencast of the problem, crash, or failure and your workflow leading up to it.
  • Выходные данные журнала (см. ниже).Log outputs (see below).
  • .Mlpd создаваемый в течение сеанса профилирования (см. ниже).The .mlpd being generated for the profiling session (see below).

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

На компьютере Mac для сохранения журналов ~/Library/Logs/Xamarin.Profiler/Profiler.<date>.log.On Mac logs are saved to ~/Library/Logs/Xamarin.Profiler/Profiler.<date>.log.

В Windows сохраняются в %appdata%Local//Xamarin/Log/Xamarin.Profiler/Profiler.<date>.log включите последний журнал при каждой отправке проблемы.On Windows these are saved to %appdata%Local//Xamarin/Log/Xamarin.Profiler/Profiler.<date>.log Please include the latest log whenever you submit an issue.

Мы добавили дополнительные ведения журнала при переходе, поэтому эти выходные данные должны увеличиваться и станут более полезной со временем.We’re adding more logging as we go, so this output should grow and become more useful over time.

Создание файлов .mlpdGenerating .mlpd Files

.Mlpd файл создается сжатый профилировщика среды выполнения mono.An .mlpd file is the compressed output of the mono runtime profiler. Графический пользовательский Интерфейс Xamarin Profiler считывает данные из .mlpd и отображает его для пользователя.The Xamarin Profiler GUI reads the data from an .mlpd and displays it for the user. .mlpd файлы полезны, средства отладки для Xamarin, так как они помогают наши инженеры диагностировать проблемы возникли Profiler с данными..mlpd files are useful debugging tools for Xamarin because they help our engineers diagnose problems the Profiler might be having with your data.

.Mlpd для текущего сеанса автоматически сохраняются в компьютере Mac /tmp directory и могут идентифицироваться по метке времени.The .mlpd for the current session is automatically saved in your Mac’s /tmp directory, and can be identified by the timestamp. При включении ведения журнала, первые выходные данные будут содержать путь к .mlpd файла.If you turn on logging, the first output will be the path to the .mlpd file. .Mlpd обычно файл будет сохранен в каталоге, начиная ~/var и папки...The .mlpd file will normally be saved in the directory starting ~/var/folders…

.Mlpd для текущего сеанса также могут сохраняться, выбрав файл > Сохранить как...The .mlpd for a current session can also be saved by choosing File > Save As… Profiler меню:from the Profiler’s menu:

Visual Studio для Mac:Visual Studio for Mac:

Visual Studio:Visual Studio:

Важно отметить, что .mlpd содержат большой объем сведений, а размер файла будет большим.It is important to note that .mlpd contain a lot of information, and the file size will be large.

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

В следующем списке перечислены распространенные подводные камни, поиске их решений и советы и рекомендации по использованию Profiler.The list below shows common gotchas, workarounds, and tips and tricks for using the Profiler.

Примечание

Примечание. Вы должны быть Visual Studio Enterprise подписчика, чтобы разблокировать эту функцию в любом Visual Studio Enterprise на Windows или Visual Studio для Mac.NOTE: You need to be a Visual Studio Enterprise subscriber to unlock this feature in either Visual Studio Enterprise on Windows or Visual Studio for Mac.

Я не вижу параметр профилировщика iOS, или он неактивен [Visual Studio и Visual Studio для Mac]I can't see the iOS profiler option, or it is greyed out [Visual Studio and Visual Studio for Mac]

Проверьте параметры ниже, чтобы устранить эту проблему:Check the following settings to resolve this:

  • Убедитесь, что при использовании конфигурации отладкиEnsure that you are using the Debug configuration
  • Убедитесь, что вы используете сборщик мусора SGen.Ensure that you are using the SGen Garbage collector.
  • Обеспечения платформы поддерживается.Ensure the Platform is supported.
  • Убедитесь в наличии соответствующей лицензии.Ensure that you have the right license.
  • Убедитесь, что вы вошли в и должным образом проверку подлинности.Ensure that you are logged in and properly authenticated.
  • [Visual Studio] Необходимо использовать Visual Studio Enterprise и иметь действительную лицензию Enterprise.[Visual Studio] You must be using Visual Studio Enterprise and have a valid Enterprise license.

Сообщение об ошибке при попытке запуска профилировщикаI get an error when I try to launch the profiler

При возникновении этого окно ошибки при использовании профилировщика в Visual Studio:If you run into this error box when using the profiler in Visual Studio :

Это обычно из-за невозможности запуска в симуляторе или эмуляторе.It is normally due to being unable to launch to the Simulator / Emulator. Попробуйте и запустите приложение, как правило, устранить проблемы, которые он предоставляет, а затем повторите попытку использовать Profiler.Try and run the app normally, fix the issues that it gives, and then try to use the Profiler again.

Для просмотра из определенного потокаTo watch a specific thread

Если у вас есть поток, который вы хотите смотреть в частности, было бы идеально для именования в поток с самого начала его создания, чтобы получить ThreadName вместо 0x0.If you have a thread that you wanted to specifically watch, it would be ideal to name the thread at the very beginning of its creation to get ThreadName instead of 0x0. Например задать имя потока как UI, можно использовать следующий код:For example to set the thread name as UI, you could use the following code:

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