Yayın Sürümü Oluşturma Esnasındaki Genel Sorunlar

Geliştirme sırasında genellikle projenizin hata ayıklama derlemesi ile derleme ve test etme işlemi yaparsınız. Uygulamanızı son sürüm derlemesi için derlerseniz bir erişim ihlali yaşayabilirsiniz.

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 sürüm derleme hatalarını yakalamayla ilgili bilgi için /GZ (Hata Ayıklama Derlemesinde Sürüm-Derleme Hatalarını Yakala) derleyici seçeneğine bakın.

Yığın Düzeni

Yığın düzeni, bir uygulama hata ayıklama modunda çalışırken görünen sorunların yaklaşık yüzde doksanının nedeni olur, ancak sürüm modunda bu sorunlar görülmez.

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 etrafına koruma baytları yerleştirildiği 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 Bellek Üzerine Yazmayı Denetleme ve Hata Ayıklama Derlemesini Kullanarak Bellek Üzerine Yazmayı Kontrol Etme sayfasına bakın.

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 makrosu bir yayın derlemesinde hiçbir şeye dönüşmez, bu nedenle ASSERT ifadeleri içindeki kodlardan hiçbiri yürütülmeyecek. Daha fazla bilgi için bkz. ASSERT Deyimlerini İnceleme.

Bazı işlevler, sürüm derlemesinde daha yüksek hız için satır içi hale getirilmiştir. Optimizasyonlar genellikle bir sürüm derlemesinde etkinleştirilmiştir. Farklı bir bellek ayırıcısı da kullanılıyor.

İşaretçi Desteği

Hata ayıklama bilgisinin olmaması, uygulamanızdan dolguyu kaldırır. Yayın derlemesinde, boşta dolaşan işaretçilerin başlatılmamış belleğe işaret etme olasılığı, hata ayıklama bilgisine işaret etmeye göre 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 az olası nedenidir, ancak bazen meydana gelir. Çözüm için bkz Kodunuzu Optimize Etme.

Ayrıca bkz.

Yayın Derlemeleri
Sürüm Derlemesi Sorunlarını Giderme