Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Visual Studio App Center è stato ritirato il 31 marzo 2025, ad eccezione delle funzionalità di Analisi e diagnostica, che continueranno a essere supportate fino al 30 giugno 2026. Ulteriori informazioni.
Android NDK consente di implementare parti delle app Android usando C e C++. È possibile usare la libreria client google Breakpad per le app Android per ricevere tracce dello stack valide nel codice nativo. Le tracce dello stack possono contenere solo indirizzi di memoria. Non mostrano nomi di classe, metodi, nomi di file e numeri di riga necessari per leggere e comprendere i crash. Per ottenere gli indirizzi di memoria convertiti per l'app Android NDK, è necessario caricare i simboli dell'applicazione per ogni compilazione.
Per informazioni su come segnalare arresti anomali di NDK, vedere la documentazione di Android SDK per le app Android o la documentazione di Unity SDK per le app Unity.
Per inviare arresti anomali di Breakpad da altre piattaforme ad App Center, consultare la documentazione relativa al caricamento di arresti anomali personalizzati.
Crash non simbolicati
Gli arresti anomali non simbolicati vengono visualizzati nella sezione Diagnostica di App Center, in modo da poter vedere alcuni dettagli anche prima di caricare i simboli. I simboli mancanti di questi arresti anomali verranno visualizzati nella scheda "non simbolica". Se vengono caricati i simboli mancanti, il gruppo di arresti anomali non simbolicati verrà sostituito da un gruppo di arresti anomali simbolicati.
Annotazioni
App Center non supporta la simbolicità dei fotogrammi provenienti dalle librerie di sistema. Data l'elevata frammentazione dei binari di sistema per Android e altre piattaforme – che potrebbero essere diversi in qualsiasi combinazione di versione del dispositivo/sistema operativo – App Center non fornisce simboli per i binari di sistema e ignora automaticamente i frame dai binari di sistema durante la simbolicazione.
Generare un file .zip da caricare
È possibile recuperare i simboli necessari per la simbolica in App Center in due modi. App Center può generarli dai file binari nativi usati nel progetto oppure caricare direttamente i simboli del Breakpad.
Opzione 1: Caricare file binari nativi
Inserire tutti i file .so dalla directory del obj/local/$ABI/
progetto in un file .zip.
Opzione 2: Caricare i simboli del Breakpad
- Effettua il dump dei simboli usando la toolchain Breakpad come descritto nella documentazione del Breakpad nella sezione "Ottenimento dei simboli di debug".
- Creare un filesymbols.zip con la struttura seguente:
Annotazioni
Se si caricano i simboli da macOS, è necessario pulire i simboli di qualsiasi cartella estranea, ad esempio __MACOS viene generato e per eliminare questo è possibile usare zip -d <symbols.zip> __MACOSX/\*
.
$ unzip -l symbols.zip
Archive: symbols.zip
Length Date Time Name
-------- ---- ---- ----
0 07-22-13 15:07 symbols/
0 07-22-13 15:07 symbols/libnative.so/
0 07-22-13 15:07 symbols/libnative.so/EAC901FB6DDCCE8AED89E1A8E4A58360/
12468 07-22-13 15:07 symbols/libnative.so/EAC901FB6DDCCE8AED89E1A8E4A58360/libnative.so.sym
0 07-22-13 15:07 symbols/libnative.so/FDC5C9E715C4F16408C0B78F95855BF0/
12467 07-22-13 15:07 symbols/libnative.so/FDC5C9E715C4F16408C0B78F95855BF0/libnative.so.sym
-------- -------
24935 6 files
Caricamento di simboli
Annotazioni
Il servizio Di compilazione e distribuzione di App Center può inoltrare automaticamente i simboli al servizio Diagnostica. Se si usa App Center per compilare e distribuire automaticamente l'app agli utenti finali, non è necessario ottenere e caricare manualmente i file di simboli come descritto nei passaggi seguenti.
Portale di App Center
- Accedere ad App Center e selezionare l'app.
- Nel menu a sinistra passare alla sezione Diagnostica e quindi Problemi.
- Se l'applicazione non ha ancora segnalato alcun arresto anomalo, è necessario usare l'API o l'interfaccia della riga di comando per caricare i simboli del Breakpad.
- Se l'applicazione ha già segnalato arresti anomali che necessitano di simboli, controllare la scheda Unsymbolicated e dovrebbe essere presente un gruppo di versioni con simboli mancanti, fare clic su di esso per visualizzare il menu per caricare il file.
- Dopo che i simboli vengono indicizzati da App Center, gli arresti anomali verranno simbolicati automaticamente.
App Center API
Il processo di caricamento dei simboli tramite l'API prevede una serie di tre chiamate API: una per allocare spazio nel back-end, una per caricare il file e una per aggiornare lo stato del caricamento. Il corpo della prima chiamata API deve essere impostato su symbol_type
Breakpad
.
- Attivare una
POST
richiesta all'API di symbol_uploads. Questa chiamata alloca spazio nel backend per il tuo file e restituisce una proprietàsymbol_upload_id
eupload_url
.
curl -X POST 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads' \
-H 'accept: application/json' \
-H 'X-API-Token: {API TOKEN}' \
-H 'Content-Type: application/json' \
-d '{JSON BODY}'
- Usando la
upload_url
proprietà restituita dal primo passaggio, effettuare unaPUT
richiesta con l'intestazione:"x-ms-blob-type: BlockBlob"
e fornire il percorso del file su disco. Questa chiamata carica il file negli account di archiviazione back-end. Scopri di più sulle intestazioni della richiesta PUT Blob .
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
- Effettuare una richiesta all'API
PATCH
utilizzando la proprietà restituita dal primo passaggio. Nel corpo della richiesta specificare se si desidera impostare lo stato del caricamentocommitted
su (completato correttamente) il processo di caricamento oaborted
(completato senza esito positivo).
curl -X PATCH 'https://api.appcenter.ms/v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}' \
-H 'accept: application/json' \
-H 'X-API-Token: {API TOKEN}' \
-H 'Content-Type: application/json' \
-d '{ "status": "committed" }'
Annotazioni
L'API di caricamento dei simboli non funziona per i file di dimensioni superiori a 256 MB. Usare l'interfaccia della riga di comando di App Center per caricare questi file. È possibile installare App Center CLI seguendo le istruzioni nel repository di App Center CLI.
Interfaccia della riga di comando di App Center
È anche possibile usare l'interfaccia della riga di comando per caricare i file di simboli:
appcenter crashes upload-symbols --breakpad {symbols file}
Ignorare i simboli
Quando App Center non dispone di tutti i file di simboli per rendere completamente simbolizzati i report di arresto anomalo, gli arresti anomali vengono elencati nella scheda Non simbolizzati. I simboli necessari vengono caricati da questa pagina se vi si può accedere.
Se non è possibile caricare i simboli, è possibile contrassegnarli come Ignorati selezionando le righe nella tabella e facendo clic sul pulsante Ignora versioni . Questo pulsante indica ad App Center di elaborare gli arresti anomali e di simbolizzarli il più possibile con i simboli disponibili. Al termine dell'elaborazione, verranno visualizzati nella scheda Arresti parzialmente simbolizzati. I nuovi arresti anomali che dipendono anche da quegli stessi ID simbolo contrassegnati come ignorati bypasseranno la scheda Non simbolicati mentre arrivano e passano attraverso il sistema.