Android NDK
Önemli
Visual Studio App Center 31 Mart 2025'te kullanımdan kaldırılıyor. Tamamen kullanımdan kaldırılana kadar Visual Studio App Center'ı kullanmaya devam edebilirsiniz ancak geçiş yapmayı düşünebileceğiniz birkaç önerilen alternatif vardır.
Destek zaman çizelgeleri ve alternatifleri hakkında daha fazla bilgi edinin.
Android NDK, C ve C++ kullanarak Android uygulamalarınızın bölümlerini uygulamanıza olanak tanır. Yerel kodda geçerli yığın izlemeleri almak için Android uygulamalarınız için Google Breakpad istemci kitaplığını kullanabilirsiniz. Yığın izlemeleri yalnızca bellek adresleri içerebilir. Kilitlenmeleri okumak ve anlamak için gereken sınıf adlarını, yöntemleri, dosya adlarını ve satır numaralarını göstermezler. Android NDK uygulamanızın bellek adreslerinin çevrilmesi için her derleme için uygulama simgelerini karşıya yüklemeniz gerekir.
NDK kilitlenmelerini bildirmeyi öğrenmek için Android uygulamaları için Android SDK belgelerine veya Unity uygulamaları için Unity SDK belgelerine bakın .
Diğer platformlardan App Center'a Breakpad kilitlenmeleri göndermek istiyorsanız özel kilitlenmeleri karşıya yükleme belgelerine bakın.
Tam olmayan kilitlenmeler
Simge yüklemeden önce bile bazı ayrıntıları görüntüleyebilmeniz için App Center Tanılama bölümünde simgelenmemiş kilitlenmeler görüntülenir. Bu kilitlenmelerin eksik simgeleri "simgelenmemiş" sekmesinde gösterilir. Eksik simgeler karşıya yüklenirse, simgeleştirilmiş kilitlenme grubu simgeleştirilmiş kilitlenme grubuyla değiştirilir.
Not
App Center, sistem kitaplıklarından gelen çerçevelerin sembolikleştirmesini desteklemez. Android ve diğer platformlar için sistem ikili dosyalarının yüksek parçalanmaları göz önünde bulundurulduğunda (herhangi bir cihaz/işletim sistemi sürüm bileşiminde farklı olabilir) App Center, sistem ikili dosyaları için semboller sağlamaz ve simgesel olarak sistem ikili dosyalarından çerçeveleri otomatik olarak atlar.
Karşıya yüklenecek .zip dosyası oluşturma
App Center'ın sembolikleştirme için gerekli simgeleri almasının iki yolu vardır. App Center bunları projenizde kullanılan yerel ikili dosyalardan oluşturabilir veya Kesme Çubuğu simgelerini doğrudan karşıya yükleyebilirsiniz.
1. Seçenek: Yerel ikili dosyaları karşıya yükleme
Projenin obj/local/$ABI/
dizinindeki tüm .so dosyalarını bir .zip dosyasına yerleştirin.
2. Seçenek: Kesme Çubuğu simgelerini karşıya yükleme
- "Hata ayıklama simgelerini alma" bölümündeki Kesme Çubuğu belgelerinde açıklandığı gibi Kesme Çubuğu araç zincirini kullanarak simgelerin dökümünü alın.
- Aşağıdaki yapıya sahip birsymbols.zip dosyası oluşturun:
Not
Simgelerinizi macOS'tan karşıya yüklüyorsanız, simgelerinizi herhangi bir gereksiz klasörden temizlemeniz gerekir; örneğin, __MACOS oluşturulur ve bunu silmek için kullanabilirsiniz 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
Sembolleri karşıya yükleme
Not
App Center Derleme ve Dağıtım hizmeti sembolleri otomatik olarak Tanılama hizmetine iletebilir. Uygulamanızı derlemek ve son kullanıcılarınıza otomatik olarak dağıtmak için App Center kullanıyorsanız, aşağıdaki adımlarda ayrıntılı olarak açıklandığı gibi sembol dosyalarını el ile edinmeniz ve karşıya yüklemeniz gerekmez.
App Center Portalı
- App Center'da oturum açın ve uygulamanızı seçin.
- Soldaki menüde Tanılama bölümüne ve ardından Sorunlar'a gidin.
- Uygulamanız henüz kilitlenme bildiriminde bulunmadıysa Kesme Çubuğu simgelerini karşıya yüklemek için API veya CLI kullanmanız gerekir.
- Uygulamanız zaten simge gerektiren kilitlenmeler bildirdiyse, Simgelenmemiş sekmesini denetleyin ve eksik sembolleri olan bir sürüm grubu olmalıdır, dosyayı karşıya yüklemek için menüyü görüntülemek için bu sekmeye tıklayın.
- Simgeler App Center tarafından dizine alındıktan sonra kilitlenmeler sizin için sembolik hale gelir.
App Center API'si
API aracılığıyla sembolleri karşıya yükleme işlemi üç API çağrısı serisini içerir: biri arka ucumuzda yer ayırmak için, biri dosyayı karşıya yüklemek için ve biri de karşıya yüklemenin durumunu güncelleştirmek için. İlk API çağrısının gövdesi olarak Breakpad
ayarlanmalıdırsymbol_type
.
- symbol_uploads API'sine bir
POST
istek tetikleme. Bu çağrı, dosyanız için arka uçta yer ayırır ve birsymbol_upload_id
veupload_url
özelliği döndürür.
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}'
upload_url
İlk adımda döndürülen özelliğini kullanarak üst bilgiyle birPUT
istekte bulunun:"x-ms-blob-type: BlockBlob"
ve disk üzerindeki dosyanızın konumunu sağlayın. Bu çağrı, dosyayı arka uç depolama hesaplarımıza yükler. PUT Blob isteği üst bilgileri hakkında daha fazla bilgi edinin.
curl -X PUT '{upload_url}' \
-H 'x-ms-blob-type: BlockBlob' \
--upload-file '{path to file}'
- İlk adımda döndürülen özelliğini kullanarak
symbol_upload_id
symbol_uploads API'sine birPATCH
istek gönderin. İsteğin gövdesinde, karşıya yüklemenin durumunu karşıya yüklemecommitted
işlemine (başarıyla tamamlandı) veyaaborted
(başarısız bir şekilde tamamlandı) olarak ayarlamak isteyip istemediğinizi belirtin.
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" }'
Not
Sembol karşıya yükleme API'si 256 MB'tan büyük dosyalar için çalışmaz. Bu dosyaları karşıya yüklemek için App Center CLI'sini kullanın. App Center CLI depomuzdaki yönergeleri izleyerek App Center CLI'yi yükleyebilirsiniz.
App Center CLI
Sembol dosyalarını karşıya yüklemek için CLI'yi de kullanabilirsiniz:
appcenter crashes upload-symbols --breakpad {symbols file}
Sembolleri yoksayma
App Center kilitlenme raporlarını tamamen simgeleyen tüm sembol dosyalarına sahip olmadığında kilitlenmeler Simgelenmemiş sekmesinde listelenir. Gerekli simgelere erişiminiz varsa bu sayfadan karşıya yüklenir.
Simgeleri karşıya yükleyemiyorsanız, tabloda satırları seçip Sürümleri yoksay düğmesine tıklayarak bunları Yoksayıldı olarak işaretleyebilirsiniz. Bu düğme App Center'a kilitlenmeleri işlemesini ve dosyadaki sembollerle mümkün olduğunca simgelemesini söyler. İşlem tamamlandıktan sonra Kilitlenmeler sekmesinde kısmen simgelenmiş olarak görünürler. Yoksayıldı olarak işaretlenen aynı sembol kimliklerine de bağlı olan yeni kilitlenmeler, sistem içinde gelen ve sistemde akan Simgelenmemiş sekmesini atlar.