Risoluzione dei problemi di Xamarin Profiler

Registrazione e diagnostica

Il team di Xamarin può aiutare a tenere traccia dei problemi se si forniscono informazioni, tra cui:

  • Screencast del problema, dell'arresto anomalo o dell'errore e del flusso di lavoro che lo ha portato.
  • Output del log (vedere di seguito).
  • . mlpd generato per la sessione di profilatura (vedere di seguito).

Recupero degli output del log

Nei log Mac vengono salvati in ~/Library/Logs/Xamarin.Profiler/Profiler.<date>.log.

In Windows questi vengono salvati in %appdata%Local//Xamarin/Log/Xamarin.Profiler/Profiler.<date>.log Includere il log più recente ogni volta che si invia un problema.

Stiamo aggiungendo altre registrazioni man mano che andiamo, quindi questo output dovrebbe crescere e diventare più utile nel corso del tempo.

Generazione di file con estensione mlpd

Un file con estensione mlpd è l'output compresso del profiler di runtime mono. L'interfaccia utente grafica di Xamarin Profiler legge i dati da un file mlpd e lo visualizza per l'utente. I file con estensione mlpd sono utili strumenti di debug per Xamarin perché consentono ai tecnici di diagnosticare i problemi che il Profiler potrebbe avere con i dati.

Il file mlpd per la sessione corrente viene salvato automaticamente nella directory del /tmp Mac e può essere identificato dal timestamp. Se si attiva la registrazione, il primo output sarà il percorso del file mlpd . Il file con estensione mlpd verrà in genere salvato nella directory a partire da ~/var/folders...

È anche possibile salvare il file con estensione mlpd per una sessione corrente scegliendo Salva > con nome dal menu del profiler:

Visual Studio per Mac:

Saving .mlpd file in Visual Studio for Mac

Visual Studio:

Saving .mlpd file in Visual Studio

È importante notare che .mlpd contiene molte informazioni e le dimensioni del file saranno grandi.

Risoluzione dei problemi

L'elenco seguente mostra i gotcha comuni, le soluzioni alternative e i suggerimenti e i trucchi per l'uso di Profiler.

Nota

È necessario essere un sottoscrittore di Visual Studio Enterprise per sbloccare questa funzionalità in Visual Studio Enterprise in Windows o Visual Studio per Mac.

Non è possibile visualizzare l'opzione del profiler iOS oppure è disattivata [Visual Studio e Visual Studio per Mac]

Controllare le impostazioni seguenti per risolvere il problema:

  • Assicurarsi di usare la configurazione di debug
  • Assicurarsi di usare SGen Garbage Collector.
  • Verificare che la piattaforma sia supportata.
  • Assicurarsi di avere la licenza corretta.
  • Assicurarsi di aver eseguito l'accesso e aver eseguito correttamente l'autenticazione.
  • [Visual Studio] È necessario usare Visual Studio Enterprise e avere una licenza Enterprise valida.

Viene visualizzato un errore quando si tenta di avviare il profiler

Se si verifica questa casella di errore quando si usa il profiler in Visual Studio:

Error box when using the profiler in Visual Studio

Normalmente è dovuto all'impossibilità di avviare il simulatore/emulatore. Provare a eseguire l'app normalmente, correggere i problemi che presenta e quindi provare a usare di nuovo profiler.

Per controllare un thread specifico

Se si ha un thread che si desidera controllare in modo specifico, sarebbe preferibile denominare il thread all'inizio della creazione per ottenere ThreadName invece di 0x0. Ad esempio, per impostare il nome del thread come UI, è possibile usare il codice seguente:

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