Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Visual Studio App Center wurde am 31. März 2025 eingestellt, mit Ausnahme der Analyse- und Diagnosefeatures, die bis zum 30. Juni 2026 weiterhin unterstützt werden. Weitere Informationen
Mit Android NDK können Sie Teile Ihrer Android-Apps mit C und C++ implementieren. Sie können die Google Breakpad-Clientbibliothek für Ihre Android-Apps verwenden, um gültige Stack-Traces im nativen Code zu erhalten. Die Stapelspuren können nur Speicheradressen enthalten. Sie zeigen keine Klassennamen, Methoden, Dateinamen und Zeilennummern an, die zum Lesen und Verstehen der Abstürze erforderlich sind. Um die Speicheradressen für Ihre Android NDK-App zu übersetzen, müssen Sie Anwendungssymbole für jeden Build hochladen.
Informationen zum Melden von NDK-Abstürzen finden Sie in der Android SDK-Dokumentation für Android-Apps oder unity SDK-Dokumentation für Unity-Apps.
Wenn Sie Breakpad-Abstürzen von anderen Plattformen an App Center senden möchten, sehen Sie die Dokumentation zum Hochladen benutzerdefinierter Abstürze.
Unsymbolische Abstürze
Unsymbolische Abstürze werden im Abschnitt "App Center Diagnostics" angezeigt, sodass Sie einige Details auch vor dem Hochladen von Symbolen anzeigen können. Die fehlenden Symbole dieser Abstürze werden auf der Registerkarte "Nichtsymboliert" angezeigt. Wenn die fehlenden Symbole hochgeladen werden, wird die nichtsymbolierte Absturzgruppe durch eine symbolische Absturzgruppe ersetzt.
Hinweis
App Center unterstützt keine symbolische Darstellung von Frames, die aus Systembibliotheken stammen. Angesichts der hohen Fragmentierung von Systembinärdateien für Android und andere Plattformen – die sich je nach Geräte-/Betriebssystemversion unterscheiden können – stellt App Center selbst keine Symbole für diese Dateien bereit und lässt automatisch Frames aus solchen Binärdateien bei der Symbolisierung aus.
Generieren einer .zip Datei zum Hochladen
Es gibt zwei Möglichkeiten, wie App Center die symbole abrufen kann, die für die Symbolik erforderlich sind. App Center kann sie aus den systemeigenen Binärdateien generieren, die in Ihrem Projekt verwendet werden, oder Sie können die Breakpad-Symbole direkt hochladen.
Option 1: Hochladen nativer Binärdateien
Fügen Sie alle .so-Dateien aus dem Verzeichnis des obj/local/$ABI/
Projekts in eine .zip Datei ein.
Option 2: Hochladen von Breakpadsymbolen
- Geben Sie die Symbole aus, indem Sie die Breakpad-Toolchain verwenden, wie im Abschnitt "Debugging-Symbole erhalten" der Breakpad-Dokumentation beschrieben.
- Erstellen Sie eine symbols.zip Datei mit der folgenden Struktur:
Hinweis
Wenn Sie Ihre Symbole von macOS hochladen, müssen Sie ihre Symbole von zusätzlichen Ordnern bereinigen, z. B. __MACOS generiert und gelöscht werden können 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
Hochladen von Symbolen
Hinweis
Der Build- und Verteilungsdienst des App Centers kann Symbole automatisch an den Diagnosedienst weiterleiten. Wenn Sie App Center zum Erstellen und automatischen Verteilen Ihrer App an Ihre Endbenutzer verwenden, müssen Sie die Symboldateien nicht manuell abrufen und hochladen, wie in den nachstehenden Schritten beschrieben.
App-Center-Portal
- Melden Sie sich beim App Center an, und wählen Sie Ihre App aus.
- Navigieren Sie im linken Menü zum Abschnitt " Diagnose" und dann " Probleme".
- Wenn Ihre Anwendung noch keinen Absturz gemeldet hat, müssen Sie die API oder CLI verwenden, um Breakpadsymbole hochzuladen.
- Wenn Ihre Anwendung bereits Abstürze gemeldet hat, die Symbole benötigen, überprüfen Sie die Registerkarte " Nichtsymboliert ", und es sollte eine Versionsgruppe mit fehlenden Symbolen vorhanden sein, klicken Sie darauf, um das Menü anzuzeigen, um die Datei hochzuladen.
- Nachdem die Symbole vom App Center indiziert wurden, werden Abstürze für Sie symbolisch dargestellt.
App Center-API
Der Prozess zum Hochladen von Symbolen über die API umfasst eine Reihe von drei API-Aufrufen: eines zum Zuweisen von Speicherplatz auf unserem Back-End, eines zum Hochladen der Datei und eines zum Aktualisieren des Status des Uploads. Der Text des ersten API-Aufrufs sollte symbol_type
auf Breakpad
setzen.
- Auslösen einer
POST
Anforderung an die symbol_uploads-API. Mit diesem Aufruf wird Speicherplatz auf unserem Back-End für Ihre Datei zugewiesen und einesymbol_upload_id
- undupload_url
-Eigenschaft geliefert.
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}'
- Erstellen Sie mithilfe der eigenschaft, die
upload_url
aus dem ersten Schritt zurückgegeben wird, einePUT
Anforderung mit dem Header:"x-ms-blob-type: BlockBlob"
und geben Sie den Speicherort der Datei auf dem Datenträger an. Dieser Aufruf lädt die Datei in unsere Back-End-Speicherkonten hoch. Erfahren Sie mehr über PUT Blob-Anforderungsheader.
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
- Stellen Sie eine
PATCH
Anforderung an die symbol_uploads-API mithilfe der Eigenschaft, die im ersten Schritt zurückgegeben wurde. Geben Sie im Textkörper der Anforderung an, ob Sie den Status des Uploads aufcommitted
den (erfolgreich abgeschlossenen) Uploadvorgang oderaborted
(erfolglos abgeschlossen) festlegen möchten.
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" }'
Hinweis
Die Symboluploads-API funktioniert nicht für Dateien, die größer als 256 MB sind. Verwenden Sie die App Center CLI, um diese Dateien hochzuladen. Sie können die App Center CLI installieren, indem Sie die Anweisungen in unserem App Center CLI-Repository befolgen.
App Center CLI
Sie können auch die CLI verwenden, um Symboldateien hochzuladen:
appcenter crashes upload-symbols --breakpad {symbols file}
Ignorieren von Symbolen
Wenn App Center nicht über alle Symboldateien verfügt, um vollständig symbolische Absturzberichte zu erstellen, werden die Abstürze auf der Registerkarte " Nicht symboliert " aufgeführt. Die erforderlichen Symbole werden von dieser Seite hochgeladen, wenn Sie Zugriff darauf haben.
Wenn Sie die Symbole nicht hochladen können, können Sie sie als ignoriert markieren, indem Sie Zeilen in der Tabelle auswählen und auf die Schaltfläche " Versionen ignorieren " klicken. Diese Schaltfläche weist App Center an, die Abstürze zu verarbeiten und sie so vollständig wie möglich mit den Symbolen in der Datei zu symbolisieren. Nachdem sie die Verarbeitung abgeschlossen haben, werden sie auf der Registerkarte „Abstürze“ teilweise symbolisiert angezeigt. Neue Abstürze, die auch von den gleichen Symbol-IDs abhängen, die als ignoriert gekennzeichnet sind, umgehen die Registerkarte Unsymbolisiert, sobald sie eintreffen und durch das System fließen.