Makale numarası: 194550 - Bu makalenin geçerli olduğu ürünleri görün.
Birden çok kez serbest bellek, bir uygulama hatası neden olabilir.
Not: Bu malloc ve birden çok boş ya da yeni kullanıp true olduğunda ve birden çok silme.
Öbek denetim yapıları free() ve artık burada free() sonraki ça?r?lar çalışır durumda ilk çağrısının düzeltilir.
Birden çok ücretsiz arama önlemek veya aynı işaretçiyi üzerinde birden çok silme. Bunu önlemek için bir işaretçi boş çağrıldıktan sonra boş veya silmek için atayarak yoludur. Sil ve boş bir işlev bağımsız değişken olarak geçirilen işaretçi null ise herhangi bir şey yapmadan döndürür. Bu durumda boş yeri çalışmıyor veya silme için aynı bellek konumunu gösteren birden çok işaretçisi üzerinde denir.
Microsoft, üçüncü taraf uygulamalarını'da bu sorunla karşılaşan müşterilere yardımcı olmak için <a0></a0>, yeni C çalışma zamanı kitaplığı DLL, iki öbek yöneticileri, Visual C++ 5 uyumlu yığın yöneticisinin ve Visual C++ 6 uyumlu yığın yöneticisinin uygulayan Msvcrt.dll yayımladı. Algıladığı uygulamanız hangi Visual C++ sürüm yerleşik olarak bulunur ve bu uygulama için uygun öbek yöneticisini kullanır. Bu sürüm 6.0 veya daha büyük, Visual C++ 6 uyumlu yığın yöneticisinin kullanılır ve bu sürümünden daha eski ise, 6.0, Visual C++ 5 uyumlu öbek kullanılır.
Visual Studio 6.0 kullanıcıları, bu yeni msvcrt.dll en son Microsoft Visual Studio hizmet paketi yükleyerek edinebilirsiniz. Non-Visual Studio kullanıcıların Microsoft kitaplıkları yüklemeniz gerekir.
Microsoft, Microsoft bir hata olduğunu onaylamıştır bu makalenin başında listelenen ürünlerden.
Bu hata, Visual Studio 6.0 Service Pack 3'te giderilmiştir. Visual Studio hizmet paketleri hakkında daha fazla bilgi için lütfen aşağıdaki Microsoft Knowledge Base'deki makaleleri bakın:
194022
(http://support.microsoft.com/kb/194022/EN-US/ )Visual Studio 6.0 hizmet paketleri, ne, nerede, neden (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)
194295
(http://support.microsoft.com/kb/194295/EN-US/ )Visual Studio hizmet paketinin yüklü olmadığını belirleme
Birden çok kez bellek boşaltma tanımsız davranış oluşturur.
Visual C++ 6.0 ile oluşturulmuş bir uygulama hatası nedeni aşağıdaki örnek kod, yayım oluşturur; kod, Visual C++ 5.0 ile oluşturulan bir uygulama hatası neden olmaz.
Hata ayıklama ya da Visual C++ ile yapılarında bir ASSERT 6.0 veya Visual C++ 5.0 sorun:
Dikkat önemlidir küçük blok öbek durumu (SBH), sürekli flux olduğu. Bu nedenle, hata ayıklama yap? içinde hiçbir belirtilme verilmiş, ancak sürüm oluşturma bir uygulama hatası oluşur nerede durumlar vardır.
Visual C++ 6.0 sürümü yapılarında Visual C++ 5.0 içinde birden fazla bellek boşaltmak için daha duyarlıdır. Visual C++ 5.0 ile oluşturulan, aşağıdaki bir boşaltmak için hatalı çağrı innocuous olduğu durumdur. Özgün daha uzak free() çağrısı yapıldı, bir uygulama hatası neden olabilir. Yüksek olasılık vardır, belleğin bozuk.
Örnek kod
Makale numarası: 194550 - Last Review: 4 Haziran 2005 Cumartesi - Gözden geçirme: 3.0
Bu makaledeki bilginin uygulandığı durum:
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:194550
(http://support.microsoft.com/kb/194550/en-us/ )
Contact us for more help
Connect with Answer Desk for expert help.