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
App Center-Diagnose unterstützt das symbolische Analysieren von nicht verwalteten C/C++-Code-Abstürzen in Ihrer Anwendung. Sie können nicht verwaltete Codeabstürze symbolieren, die aus Ihrem Android-NDK-Code stammen, und nicht verwaltete Codeabstürze, die als Breakpad-Minidumps formatiert sind und über die Upload Crashes-API hochgeladen wurden.
Verwendung von Breakpad mit App Center
Breakpad ist eine Bibliotheks- und Toolsuite, die bei der Erstellung von C- und C++-Stapelablaufverfolgungen hilft. Diese Stapelablaufverfolgungen werden aus minidump Dateien generiert, die erstellt werden, sobald Breakpad in Ihr Projekt integriert ist.
Breakpad bietet Starthandbücher für die Integration in Linux-, Windows- und Mac-Anwendungen .
Senden von Breakpad-Absturzprotokollen an das App Center
Android NDK
App Center bietet eine SDK-Integration für Android-Anwendungen mit dem NDK, um nicht verwalteten Code auszuführen. Diese Integration erstellt Breakpad-Minidumps und lädt sie automatisch in App Center hoch.
Andere Anwendungen
Sobald Breakpad in Ihre Anwendung integriert ist, können Sie Breakpad-Absturzprotokolle und Minidumps in App Center hochladen.
Symbolische Nicht verwaltete Abstürze
Generierung der Breakpad-Symbol-Datenpakete
App Center-Diagnose erfordert Symbole, um eine lesbare Stapelablaufverfolgung aus einem Breakpad-Minidump zu generieren.
Das Archiv der hochgeladenen Symbole muss entweder .sym-Dateien enthalten, die mit dem Breakpad-Tool dump_syms erstellt wurden, oder .so-Binärdateien.
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
- Speichern Sie die Symbole mithilfe der Breakpad-Toolchain, wie in der Breakpad-Dokumentation im Abschnitt "Erhalten Sie die Debugging-Symbole" 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 in das App Center
Symbole können über das App Center-Portal, die API oder die CLI hochgeladen werden.
- Melden Sie sich beim App Center an, und wählen Sie Ihre App aus.
- Navigieren Sie im linken Menü zum Abschnitt "Diagnose ", und wählen Sie "Symbole" aus.
- Klicken Sie in der oberen rechten Ecke auf "Symbole hochladen ", und laden Sie die Datei hoch.
- Nachdem die Symbole vom App Center indiziert wurden, werden Abstürze für Sie symbolisch dargestellt.
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
POSTAnforderung an die symbol_uploads-API. Mit diesem Aufruf wird Speicherplatz auf unserem Back-End für Ihre Datei zugewiesen und einesymbol_upload_idupload_urlEigenschaft zurückgegeben.
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_urlaus dem ersten Schritt zurückgegeben wird, einePUTAnforderung 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
PATCHAnforderung 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 aufcommittedden (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.
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.