Udostępnij za pośrednictwem


Rozwiązywanie problemów z profilerem platformy Xamarin

Rejestrowanie i diagnostyka

Zespół platformy Xamarin może pomóc w śledzeniu problemów, jeśli przekażesz nam informacje, w tym:

  • Zrzut ekranu przedstawiający problem, awarię lub awarię oraz przepływ pracy prowadzący do niego.
  • Dane wyjściowe dziennika (patrz poniżej).
  • Wygenerowany plik mlpd dla sesji profilowania (zobacz poniżej).

Pobieranie danych wyjściowych dziennika

W dziennikach komputerów Mac są zapisywane w pliku ~/Library/Logs/Xamarin.Profiler/Profiler.<date>.log.

W systemie Windows są one zapisywane w folderze %appdata%Local//Xamarin/Log/Xamarin.Profiler/Profiler.<date>.log Proszę dołączyć najnowszy dziennik przy każdym przesłaniu problemu.

Dodajemy więcej rejestrowania w miarę upływu czasu, więc dane wyjściowe powinny rosnąć i stać się bardziej przydatne w miarę upływu czasu.

Generowanie plików mlpd

Plik mlpd to skompresowane dane wyjściowe profilera środowiska uruchomieniowego mono. Graficzny interfejs użytkownika programu Xamarin Profiler odczytuje dane z pliku mlpd i wyświetla je dla użytkownika. Pliki mlpd są przydatnymi narzędziami debugowania dla platformy Xamarin, ponieważ pomagają naszym inżynierom zdiagnozować problemy, które profiler może mieć z danymi.

Plik mlpd dla bieżącej sesji jest automatycznie zapisywany w katalogu komputera Mac /tmp i można go zidentyfikować za pomocą znacznika czasu. Po włączeniu rejestrowania pierwsze dane wyjściowe będą ścieżką do pliku mlpd . Plik mlpd będzie zwykle zapisywany w katalogu rozpoczynającym się od ~/var/folders...

Plik mlpd dla bieżącej sesji można również zapisać, wybierając pozycję Plik > Zapisz jako... z menu profilera:

Visual Studio dla komputerów Mac:

Saving .mlpd file in Visual Studio for Mac

Visual Studio:

Saving .mlpd file in Visual Studio

Należy pamiętać, że plik mlpd zawiera wiele informacji, a rozmiar pliku będzie duży.

Rozwiązywanie problemów

Na poniższej liście przedstawiono typowe gotchas, obejścia oraz porady i wskazówki dotyczące korzystania z profilera.

Uwaga

Aby odblokować tę funkcję w programie Visual Studio Enterprise w systemie Windows lub Visual Studio dla komputerów Mac, musisz być subskrybentem programu Visual Studio Enterprise.

Nie widzę opcji profilera systemu iOS lub jest wyszarzony [Visual Studio i Visual Studio dla komputerów Mac]

Sprawdź następujące ustawienia, aby rozwiązać ten problem:

  • Upewnij się, że używasz konfiguracji debugowania
  • Upewnij się, że używasz modułu odśmiecającego pamięci SGen.
  • Upewnij się, że platforma jest obsługiwana.
  • Upewnij się, że masz odpowiednią licencję.
  • Upewnij się, że zalogowano się i zostało prawidłowo uwierzytelnione.
  • [Visual Studio] Musisz używać programu Visual Studio Enterprise i mieć ważną licencję Enterprise.

Otrzymuję błąd podczas próby uruchomienia profilera

Jeśli napotkasz to pole błędu podczas korzystania z profilera w programie Visual Studio:

Error box when using the profiler in Visual Studio

Zwykle jest to spowodowane niemożność uruchomienia do symulatora /emulatora. Spróbuj uruchomić aplikację normalnie, rozwiąż problemy, które daje, a następnie spróbuj ponownie użyć profilera.

Aby obejrzeć określony wątek

Jeśli masz wątek, który chcesz obejrzeć specjalnie, byłoby idealne, aby nazwać wątek na samym początku jego tworzenia, aby uzyskać ThreadName zamiast 0x0. Aby na przykład ustawić nazwę wątku jako UI, można użyć następującego kodu:

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