Makale numarası: 190536 - Son Gözden Geçirme: 03 Ekim 2005 Pazartesi - Gözden geçirme: 3.3

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

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
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:
197298  (http://support.microsoft.com/kb/197298/ ) Microsoft 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:
194022  (http://support.microsoft.com/kb/194022/ ) 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/ ) Visual 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.

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
Otomatik TercümeOtomatik Tercüme
Ö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  (http://support.microsoft.com/kb/190536/en-us/ )