açılıyor bilgiler size bir kaza, bir çağrı yığını hatta Minidump basitçe bir rapordan olsun daha fazla bağlam veren bir hata veya kilitlenme neden anlamanıza yardımcı olabilir. Bu, özellikle geliştirici olmayan ve hata ayıklayıcı altında çalışan, son kullanıcı/müşteri veya ekibinizdeki geliştiriciler olmayan kişilerden hata veya çökme raporları aldığınızda önemlidir.
Arka plan oyunlarımdadır ve günlüğe kaydetme, birkaç nedenden dolayı oyunlarla özellikle değerli olabilir. Bunlardan bir tanesi, bir sistemdeki donanımın özellikleriyle ilgili olabildiğince, kullanıcının hangi GPU türüne sahip olduğu, hangi grafik sürücüsü sürümünün çalıştığı vb. Gibi bilgilerin günlüğe kaydedilmesi, yalnızca bir ekranda görünen hataların ayıklanması için gerekli olabilir. özel yapılandırma. Bir diğeri ise oyunun, fizik, yapay zeka ve oyun kuralları gibi şeylerin simülasyonu ile kombine edilen kullanıcı girişine tepki olarak oyunun zaman içinde geliştiği bir simülasyon yönüne sahip olmasıdır. Bir çökme veya hataya kadar olan süreçte ne olup bittiğini anlamak, nasıl yeniden üretileceğini anlamaya yardımcı olur ve sorunun kök nedenine değerli ipuçları verebilir.
Bir kayıt kitaplığı, günlüğe kaydetme için kullanılabilecek işlevselliği ekler ve basit bir yazdırma dosyasında bulunan özelliklerin ötesine geçer. Bu, şu şeyleri içerir:
- Hata ayıklama, sürüm oluşturma gibi etkenlere bağlı olarak günlüğe kaydetme miktarını denetleme ve bir -verbose bayrağı gibi çalışma zamanı ayarları.
- Bağımsız olarak etkinleştirilebilen, devre dışı bırakılabilen veya belirli bir ayrıntıya ayarlanabilen 'kanallar' kavramı. Örneğin, bir grafik sorununu ayıklamak için, 'ağ' ve 'ses' kanallarını sessize ederken 'grafik' kanalının maksimum ayrıntıya ayarlanmasını isteyebilirsiniz.
- Bir ağ üzerinden uzak bir veritabanına oturum açmak için günlüğe kaydetme işleminden diskteki yerel bir dosyaya kadar uzanan esnek bir arka uç.
- Güvenlik iş parçacığı, aynı anda birden çok farklı iş parçacığı tarafından aynı anda günlüğe kaydederken günlüğe kaydetme işlemini gerçekleştirir.
- Günlük girişlerinin zaman damgası ve diğer ilgili bilgilerle (kanal, ayrıntı düzeyi vb.) Otomatik olarak etiketlenmesi. Eğer günlük tutma kütüphane sağlıyorsa
- kanalları ve ayrıntı seviyeleri iyi kullanın: Bir günlük kütüphaneden yararlanmak nasıl gelince
, yani bazı genel öneriler uygulamanıza bağlı olup, ancak burada Onları (ve gerekir). Bu, uygulamanız büyüdükçe çok büyük miktarda günlük mesaj haline gelebilecekleri yönetmenize yardımcı olacaktır.
- Beklenmeyen ancak ölümcül olmayan bir durumla karşılaşırsanız ve işlemezseniz, daha sonra beklenmeyen sorunlara yol açması durumunda, bu konuyla ilgili bazı bilgileri kaydedin.
- Uygulama başlangıcında, bir müşteriden bir hata veya kilitlenme raporu alırsanız, daha sonra nadir hataların çoğaltılması için yararlı olabilecek herhangi bir bilgiyi günlüğe kaydedin. Çok fazla bilginin yanında, önceden neyin yararlı olabileceğini asla bilemezsiniz. Bu, CPU tipi, GPU modeli ve sürücü sürümü, kullanılabilir bellek, işletim sistemi sürümü, kullanılabilir sabit sürücü alanı, vb. Gibi şeyleri içerebilir.
- Anahtar durumu geçişlerini kaydederek uygulamanızın hangi durumda olduğunu ve ne zaman orada bulunduğunu izleyebilirsiniz. Bir sorunu ayıklarsınız.
Günlüğe kaydetme: bu 3am hata ayıklama oturumları sırasında hissedilen acıyı azaltan yararlı bir şeydir. Standart bir kütüphane kullanmak, deneyimli yazarlar tarafından alınan emirleri ve tasarım seçimlerini istismar etmenizi sağlar. – Bathsheba
Tutarlı, hataya dayanıklı yapılandırılmış veriyi verimli bir rasyon kullanarak iplik güvenli bir şekilde tek bir hedefe yazmak, önemsiz olabilir ... –
Yeni başlayanlar için daha ayrıntılı bir yanıt veya en azından sorunları açıklayan bir bağlantıya sahip olmak yararlı olacaktır. Açıkça. –