Düzeltme: Visual C++ 6.0 çalışma zamanı kitaplıkları yükledikten sonra "MSVCRT.DLL modülünde geçersiz sayfa hatası" hata iletisi alıyorsunuz

Makale çevirileri Makale çevirileri
Makale numarası: 190536 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Belirtiler

Visual C++ 6.0 C çalışma zamanı kitaplıkları (modülünü Msvcrt.dll) bilgisayarınıza yükledikten sonra daha önce çalışan uygulamalar doğru başarısızlık ve aşağıdakine benzer bir uygulama hatası görüntülenir:
<Uygulama Adı > XXXX:XXXXXXXX'adresindeki MSVCRT.DLL modülünde geçersiz sayfa hatasına neden oldu.

Neden

Bu hatanın olası nedeni bir uygulama tarafından belirli bir nesnenin sahibi olan bellek bloğunu geçmiş yazdığını ' dir. Visual C++ 6.0 çalışma zamanı kitaplıkları ile birlikte gelen küçük blok heapmemory Yöneticisi içinde küçük blok öbek öbek denetim yapıları içerir. Bellek bloğu üzerine küçük blok yığın işaretçisi adresleri, işaretçiyi başvuruda bulunulursa, hatalı bir işaretçi ve büyük olasılıkla bir hatasının Msvcrt.dll etkileyen değiştirir.

Çözüm

Uygulama satıcıların uygulamalarını C çalışma zamanı küçük blok öbek doğru kullandığınızdan emin olmak gerekir.

Üçüncü taraf uygulamalarını'da bu sorunla karşılaşan müşterilere yardımcı olmak için <a0></a0>, Microsoft yeni C çalışma zamanı dinamik bağlantı kitaplığı (DLL), iki öbek yöneticileri uygulayan Msvcrt.dll yayımladı: Visual C++ sürüm 5.0 uyumlu yığın yöneticisinin ve Visual C++ sürüm 6.0 uyumlu yığın yöneticisinin. Msvcrt.dll uygulamanız ile oluşturulmuş ve bu uygulama için uygun bir yığın yöneticisinin kullanan Visual C++'ın hangi sürümünü algıladı. Visual C++ 6.0 veya daha büyük sürümse, Visual C++ 6.0 uyumlu yığın yöneticisinin kullanılır; bu sürüm 6. 0 ' önceki bir sürüm ise, Visual C++ 5.0 uyumlu öbek kullanılır.

Visual Studio 6.0 kullanıcıları, yeni Msvcrt.dll dosyasının en son Microsoft Visual Studio hizmet paketi yükleyerek edinebilirsiniz. Visual Studio'da kullanmıyorsanız <a0>Microsoft</a0> kitaplıkları güncelleştirmesi; ek bilgi için Microsoft Knowledge Base'de aşağıdaki makaleye bakın:
197298Microsoft kitaplıkları güncelleştir: ne, nerede, neden

Durum

Microsoft bu durumun, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.

Bu hata, Visual Studio 6.0 Service Pack 3'te giderilmiştir. Visual Studio hizmet paketleri hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
194022Visual Studio 6.0 hizmet paketleri, ne, nerede, neden (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)
194295Visual Studio hizmet paketinin yüklü olmadığını belirleme

Daha fazla bilgi

Öbek küçük blok boyutu 1 K daha az olan bir tahsisat oluşur. Denetim yapıları, bellek farklı ve ayrı bir konumda bulunması nedeniyle bu yapısı, hataları, C çalışma zamanı kitaplığı eski sürümleri farklı davranabilir. Bu tür hataları kodlama, genellikle bellek ve büyük bir olasılıkla bir kilitlenme başka bir blokla bozulmasına neden. Erişim ihlaline neden olan olaylar dizisi farklı Visual C++ 6.0 C Çalışma Zamanı Kitaplığı'nı kullandığınızda.

Bu tür sorunlar, hata ayıklama öbek kullanarak denetleyebilirsiniz. Lütfen "Debug öbek kullanma" adlı çevrimiçi belgelere bakın. Hata ayıklama öbek uygulama hata ayıklama bir yap? içinde işlem başlatılması sırasında arama _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF |_CRTDBG_CHECK-_ALWAYS_DF) etkinleştirmeniz gerekir.

Özellikler

Makale numarası: 190536 - Last Review: 3 Ekim 2005 Pazartesi - Gözden geçirme: 3.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
Anahtar Kelimeler: 
kbmt kbhotfixserver kbqfe kberrmsg kbbug kbcrt kbfix kbvs600sp2fix kbvs600sp3fix KB190536 KbMttr
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:190536

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com