LogBrew Swift 0.1.6 veya daha yeni bir sürüm kullanın. Hata ayıklama derleme
dosyalarını yüklemek için native LogBrew CLI 0.1.24 veya daha yeni bir sürüm
kullanın.
Yakalama sınırını planlayın
Uygulamanızın her hata türünü ne zaman yeniden gönderebileceğini kontrol edin.
Sürüm değerini derlemeden önce ayarlayın. Bu değer uygulama sürümünü ve
derlemeyi tanımlamalıdır. Aynı değeri SDK’da, dSYM yüklemesinde ve sorun
filtresinde kullanın.
Çökme meta verilerine kullanıcı verisi, istek gövdesi veya başlık eklemeyin.
Çökme ürününü ekleyin
Önce uygulamanız için SDK telemetrisini kurun. Yeniden gönderim buclient ve transport değerlerini kullanır.
Herkese açık SDK’yı Swift Package Manager ile ekleyin.
LogBrew ürününü ekleyin. LogBrewCrash ürününü
yalnızca uygulama native çökme veya donma yakalamayı açıkça etkinleştirdiğinde
ekleyin.
Yakalama entegrasyonu iOS 15 veya daha yeni sürümleri destekler. Native ölümcül
hata işleyicileri tüm süreci kapsadığı için uygulamaya ait tek bir yakalama
nesnesi tutun.
Tek ve tam bir kimlik yapılandırın
Çalışma zamanı kurulumunda ve derleme dosyası yüklemesinde aynı projeyi, sürümü, ortamı ve hizmeti kullanın. LogBrew bu değerleri türetmez veya değiştirmez.NativeCrashConfiguration isteğe bağlı iki sınıra sahiptir:
Aralığın dışındaki bir değer, yapılandırmanın
crash_invalid_configuration hatası fırlatmasına neden olur.
Donma yakalamayı etkinleştirin
watchdog değeri nil olduğunda donma yakalama kapalıdır. Etkinleştirmek için
install() çağırmadan önce yukarıdaki watchdog bildirimini değiştirin:
artifactIdentity de gerektirir. Bu değer yoksa yapılandırma
crash_invalid_configuration fırlatır.
Süreç boyunca tek bir crashCapture nesnesi tutun. İkinci bir yakalama nesnesi
kurulamaz. Onun install() çağrısı crash_capture_owned fırlatır. Eşiği
değiştirmek için yeni değeri sonraki uygulama açılışında kullanın.
Düzelen bir donma, crash.handled değeri true olarak yeniden gönderilir.
Süreç sonlandırıldığında hâlâ süren bir donma, crash.handled değeri false
olarak yeniden gönderilir.
İki biçim de sayısal durationMs meta verisini içerir. Ölümcül çökme
çerçevelerinin kullandığı derleme dosyası kimliğini korurlar.
Watchdog, uygulama etkin değilken veya hata ayıklayıcı altındayken duraklar.
Ciddi termal baskı sırasında da yakalamayı bastırır.
Kısa bir eşik, ana iş parçacığındaki normal işleri donma olarak bildirebilir.
Eşiği yayımladığınız derleme yapılandırmasıyla test edin. Ele alınmış durum
düzelmeyi anlatır. Sorunu çözülmüş olarak işaretlemez. Ele alınmış bir donma da
arayüzü engellemiştir. Bu yüzden onu da inceleyin.
Açılıştan sonra yeniden gönderin
Yakalama kurulduktan sonra bekleyen raporları SDK istemciniz üzerinden yeniden gönderin.maxReplayBytes değerinden büyük
raporları atar. Üç sayının hepsini kontrol edin. Bekleyen sayının sıfır olması
tek başına gönderimi kanıtlamaz.
Başarısız bir isteğin bir sonraki yeniden başlatmadan da sağ çıkması
gerekiyorsa yeniden gönderimden önce kalıcı gönderimi etkinleştirin. Olağan ağ
veya kimlik doğrulama kurtarması sırasında purge() çağırmayın.
Eşleşen dSYM’yi yükleyin
Uygulamayı hata ayıklama bilgisi etkinken arşivleyin. Kullanıcıların çalıştırdığı derlemenin tam dSYM dosyasını saklayın. Görüntü (image) UUID’lerini inceleyin.--expect-image-uuid seçeneğini tekrarlayın. Bulunan
UUID kümesi beklenen kümeden farklıysa komut başarısız olur.
Hesap erişimini kontrol edin. Ardından aynı komutu --dry-run olmadan
çalıştırın.
status değeri sonucu gösterir:
Derleme makinesi, hesap erişimi yerine
LOGBREW_TOKEN içindeki bir proje
derleme dosyası anahtarıyla yükleme yapabilir. Anahtarı
Derleme dosyası anahtarı oluşturun
bölümündeki gibi oluşturun. Bu yükleme uploaded bildirir. Her kimliği daha
sonra hesap erişimiyle doğrulayın:
status: "found" derleme dosyasını doğrular. status: "missing", LogBrew’de
o kimlik için derleme dosyası olmadığı anlamına gelir.
Çözümleme kaynak dosya adını değil, görüntü UUID’sini ve derleme dosyasının tam
kimliğini eşleştirir. Aynı kaynağın yeniden derlenmesi farklı UUID’lere sahip
olabilir. Tüm derleme dizinini değil, tam dSYM paketini yükleyin.
LogBrew’den geri okumayı doğrulayın
Sorun listesini aynı çalışma zamanı kapsamıyla filtreleyin. Bu örnekunresolved sorunları seçer. Çözülmüş veya arşivlenmiş bir sorun görünmez.
symbolication nesnesi ekler. Bu örnek,
çözümlenmiş bir çerçevesi olan bir sorundan seçilmiş alanları gösterir.
Yanıtın tamamı değildir.
Çökme kanıtını okuyun
Her çerçevenin kendistatus değeri vardır. symbolication.status alanı aynı
değerleri kullanır:
Çözümlenmemiş bir çerçeveyi notlarınızda çözümlenmemiş olarak tutun. Onu boş
bir yığın olarak bildirmeyin.
LogBrew çerçeveleri sorunu okuduğunuzda çözümler. Daha sonra yüklenen bir dSYM,
daha önceki bir olayın çerçevelerini çözümleyebilir. Olayın yakalamadığı
çerçeveleri ekleyemez.
Bir uygulama çerçevesi kod aramasını daraltır ama nedeni kanıtlamaz. Önceki
adımlar (breadcrumbs), istisna zinciri ve iz kanıtı için sorun incelemesini
okuyun:
source: "symbolicated" içeren bir çerçeve yüklenmiş bir derleme
dosyasından gelir. source: "captured" içeren bir çerçeve, uygulamanın
gönderdiği konumdur. Yanıt alanları için
Bir sorunu inceleyin rehberine bakın.
Her okumada proje, sürüm, ortam ve hizmet kapsamını eksiksiz koruyun. Başarısız
bir aramayı projeler arasında genişletmeyin.
Canlı ortam kurulumunu doğrulayın
Dağıtılan derlemede onaylı bir test hatası kullanın. Tetikleyici olarak asla bir müşteri aksiyonu kullanmayın. Her maddeyi sırayla kontrol edin ve ilk başarısızlıkta durun:- Çalışma zamanı kimliği yüklenen derleme dosyasının kimliğiyle eşleşir.
- Daha sonraki bir açılış, sıfır atılmış ve sıfır bekleyen raporla onaylanmış tek bir olayı yeniden gönderir.
- Kapsamlı sorun listesi test sorununu beklenen ele alınma durumuyla döndürür.
- Beklenen uygulama çerçevesi çözümlenir.
- Daha sonraki temiz bir açılış yeni bir oluşum eklemez.
Güvenle kurtarın
Genel sorun incelemesi için
API ile sorunu inceleyin rehberini
kullanın.
