Yayın Derlemesi Oluşturmadaki Genel Sorunlar
Geliştirme sırasında genellikle projenizin hata ayıklama derlemesi ile derleme ve test etme işlemi yaparsınız. Daha sonra uygulamanızı bir yayın derlemesi için derlerseniz erişim ihlali alabilirsiniz.
Aşağıdaki listede hata ayıklama ile sürüm (nondebug) derlemesi arasındaki birincil farklar gösterilmektedir. Başka farklılıklar da vardır, ancak bir uygulamanın bir hata ayıklama derlemesinde çalışırken bir yayın derlemesinde başarısız olmasına neden olabilecek birincil farklılıklar aşağıdadır.
Hata ayıklama derlemelerinde yayın derleme hatalarını yakalama hakkında bilgi için /GZ (Derleme hatalarını ayıklamada Yayın-Derleme Hatalarını Yakala) derleyici seçeneğine bakın.
Yığın Düzeni
Yığın düzeni, uygulama hata ayıklamada çalışırken görünen sorunların yaklaşık yüzde doksanının nedeni olur, ancak serbest bırakılmaz.
Projenizi hata ayıklama için oluşturduğunuzda, hata ayıklama bellek ayırıcısını kullanıyorsunuz. Bu, tüm bellek ayırmalarının çevrelerine yerleştirilmiş koruma baytları olduğu anlamına gelir. Bu koruma baytları bir belleğin üzerine yazılmasını algılar. Yığın düzeni sürüm ve hata ayıklama sürümleri arasında farklı olduğundan, bellek üzerine yazma işlemi hata ayıklama derlemesinde herhangi bir sorun oluşturmayabilir, ancak yayın derlemesinde yıkıcı etkileri olabilir.
Daha fazla bilgi için bkz . Bellek Üzerine Yazmayı Denetleme ve Hata Ayıklama Derlemesini Kullanarak Bellek Üzerine Yazmayı Denetleme.
Derleme
MFC makrolarının çoğu ve MFC uygulamasının çoğu, yayın için oluşturduğunuzda değişir. Özellikle, ASSERT makro bir yayın derlemesinde hiçbir şey değerlendirmez, bu nedenle ASSERTs içinde bulunan kodlardan hiçbiri yürütülmeyecek. Daha fazla bilgi için bkz . ASSERT Deyimlerini İnceleme.
Bazı işlevler, yayın derlemesinde daha yüksek hız için çizilidir. İyileştirmeler genellikle bir sürüm derlemesinde açıktır. Farklı bir bellek ayırıcısı da kullanılıyor.
İşaretçi Desteği
Hata ayıklama bilgilerinin olmaması, doldurmayı uygulamanızdan kaldırır. Yayın derlemesinde, başıboş işaretçilerin bilgilerde hata ayıklamak yerine başlatılmamış belleğe işaret etme şansı daha yüksektir.
İyileştirmeler
Belirli kod kesimlerinin yapısına bağlı olarak, iyileştirme derleyicisi beklenmeyen kodlar oluşturabilir. Bu, sürüm derleme sorunlarının en düşük olası nedenidir, ancak bazen ortaya çıkar. Çözüm için bkz . Kodunuzu İyi hale getirme.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin