Windows Visual C++ Çalışma Zamanı Hataları Nasıl Onarılır

Windows Visual C++ Çalışma Zamanı Hataları Nasıl Onarılır

Windows'taki paylaşılan kitaplıklar, ortak bir görevi her gerçekleştirmesi gerektiğinde tekerleği yeniden icat etmesi gerekmeyen programcı için programlamayı çok daha verimli hale getirir. Ayrıca, daha az yerde yama yapılması gerektiğinden ve her uygulamanın yeniden derlenmesini gerektirmediğinden, bulunduklarında paylaşılan koddaki güvenlik açıklarını kapatmayı kolaylaştırırlar.





Bu olumlu yönlere rağmen, üretebilecekleri hata mesajlarının temel nedenini gidermeye çalışırken kendi sorunlarını ortaya çıkarabilirler.





Okuyucumuzun Sorusu:

Dell Inspiron 530'da Windows Vista 32-bit C:Windowsexplorer.exe sorununu nasıl düzeltirim?





Ekran görüntüsünde gösterilen iletişim kutusundaki OK düğmesine tıkladıktan sonra ekran kararacak ve normal çalışmaya dönecek, ancak erişmeye çalışırken C, D ve bazen E sürücüsüne erişmeme izin vermeyecek. Bilgisayarım'dan.

Koşma sfc /scannow herhangi bir hata bulmaz. Bu sorunu düzeltmeye çalışırken hem Dell hem de Microsoft web sitelerinden güncellemeler indirdim. Ayrıca Microsoft Visual C++ 2010 Yeniden Dağıtılabilir Paketi'ni (x86) yükledim. PC, Windows Update'e göre tamamen güncel.



Bruce'un Cevabı:

Not: Windows 7 ve önceki sürümlerdeki Windows Gezgini hakkındaki tartışmalar, Windows 8 ve sonraki sürümlerdeki Dosya Gezgini için de geçerlidir. Aralarında kayda değer bir fark varsa, açıkça belirtilecektir.

Windows Kabuğu

Windows Gezgini NS kabuk ve Görev Yöneticisi'nde veya Sysinternals'ın İşlem Gezgini'nde görüldüğü gibi explorer.exe işlemi olarak çalışır. Diğer birçok Windows programı gibi, kabuk tarafından sağlanan işlevlerin tümü, bu tek yürütülebilir dosyaya dahil edilmez. Özellik sayfalarını, özellik işleyicilerini, önizleme işleyicilerini, bağlam menülerini ve her gün Windows Gezgini'nde kullandığınız diğer birçok öğeyi uygulamak için kullanılan düzinelerce başka EXE ve DLL dosyası vardır.





Genişletilebilir Kabuk

Kabuk uzantıları, programcıların görevi gerçekleştirmek için bir DLL yazarak ve DLL'yi işletim sistemine kaydederek Windows Gezgini'ne kolayca işlevsellik eklemelerine olanak tanır, böylece Explorer, görevi gerçekleştirmek için kodu nerede bulacağını bilir. Örneğin, 7-Zip standart içerik menüsüne bir alt menü ekleyerek arşiv işleme görevlerine hızlı erişim sağlar, Hard Disk Sentinel standart sürücü simgelerine simge katmanları ekler, böylece sürücü sağlık durumunu bir bakışta görebilirsiniz ve HashTab seçilen dosyanın karmalarını hesaplamak ve görüntülemek için yeni bir özellik sayfası ekler.

Bu kabuk uzantılarının çoğu, süreç içi Bileşen Nesne Modeli (COM) sunucuları olarak uygulanır. Bu, bir işlem, bu durumda Windows Gezgini, uzantıyı kullandığında, Görev Yöneticisi'nde veya İşlem Gezgini'nde kendi işlem tanımlayıcısı (PID) ile ayrı bir çalışan işlem olarak görünmeyecek demektir. Bunun yerine, çağıran explorer.exe işlemi içinde yürütülür.





Varsayılan Tek Örnekli İşlem

Windows Gezgini, iki ayrı işlem olarak çalışabilecek şekilde yazılmıştır, ancak varsayılan yapılandırmasında yalnızca tek bir örnek çalıştıracaktır. Başlangıç ​​sürecinin bir parçası olarak ilk çalıştırıldığında, Windows masaüstü ortamını oluşturur. Yeniden yürütmek, yeni bir işlem başlatmak yerine bilinen dosya yönetimi penceresini görüntüleyen mevcut işlemde yeni bir iş parçacığı oluşturur.

Bu davranış, bellek ayak izinin azalmasına izin verir, ancak sorunları giderirken kendi küçük bükümünü de getirebilir. DLL'ler tarafından sağlanan işlem içi sunucular da dahil olmak üzere, explorer.exe işleminde yürütülen koddaki kritik bir hata veya işlenmeyen özel durum, tüm masaüstü ortamının bununla birlikte çökmesine neden olur.

Çoğu durumda, masaüstü işlemi otomatik olarak yeniden başlatılacaktır. Yeniden başlamazsa, Görev Yöneticisini getirmek için Ctrl-Shift-Esc'yi kullanabilmeniz gerekir. Oradan şuraya git Dosya > Yeni Görev (Çalıştır…) > tip explorer.exe > Tamam işlemi yeniden başlatmak için.

Bu basit bir değişiklikle önlenebilir. Açık Windows Gezgini > Düzenle > Klasör ve arama seçenekleri Vista/7'de. Windows 8 ve sonraki sürümler için, açın Dosya Gezgini > Görünüm > Seçenekler > Klasörü ve arama seçeneklerini değiştir . seçin Görünüm sekmesi ve kontrol et Klasör pencerelerini ayrı bir işlemde başlatın .

metin ücretsiz çevrimiçi metin mesajları gönder ve al

Bu ayarı değiştirmek, masaüstü işleminizi, açtığınız diğer tüm Windows Gezgini pencerelerinden yalıtır. Bu Explorer pencerelerinden herhangi biri çökerse, masaüstünüz zarar görmez.

Microsoft Visual C++ Çalışma Zamanı Kitaplığı (CRT)

Microsoft Visual C++ Çalışma Zamanı Kitaplığı, giriş/çıkış, dosya işleme, bellek ayırma, sistem çağrıları ve diğerleri gibi birçok görevi otomatikleştiren Windows'u programlamak için rutinler sağlar.

Her Windows kurulumunda, CRT'nin en az iki farklı sürümü kurulu olacaktır. Windows 10 üzerinden yeni oluşturulmuş bir Vista SP2 makinesi hem 8.0 hem de 9.0 (sırasıyla VC 2005 ve VC 2008) sürümüne sahip olacaktır. Ek yazılım yüklendiğinde, programı veya bileşenlerinden herhangi birini oluşturmak için Visual C++'ın hangi sürümünün kullanıldığına bağlı olarak çalışma zamanlarının daha yeni sürümlerini de içerebilir.

Çalışma Zamanı Hataları

Bir kod parçasında bir hata veya istisna ile karşılaşıldığında, ideal olarak, o anda yürütülmekte olan prosedürde mümkün olan en kısa sürede ele alınacak ve düzeltilecek veya kusurlu bir hataya izin verilecektir. Hata yerel olarak ele alınmazsa, o anda yürütülmekte olan kodu çağıran koda iletilir ve istisna işlenene kadar süreç devam eder. Zincirin tepesine kadar olan koşusunu tamamlarsa ve hala ele alınmazsa, yukarıda görüldüğü gibi bir runtime hatası üretecektir.

Kullanıcı OK butonuna bastığında işlem sonlandırılacaktır. Programın kritik hizmetler gibi tanımlanmış bir hata davranışı varsa veya çalışma durumu başka bir işlem tarafından izleniyorsa, otomatik olarak yeniden oluşturulabilir. Bu olayda yaşanan budur. Explorer.exe işlemi sonlandırıldığında ekran kararıyor, ardından explorer.exe işlemi yeniden başlatıldığında masaüstü geri geliyor.

Yukarıdaki hata mesajı açıkça explorer.exe işleminden geldiğini belirtse de, explorer.exe'nin kendisinde bir sorun olması muhtemel değildir. Suçlunun, Explorer tarafından kullanılan üçüncü taraf bir uzantı gibi başka bir yerde olması çok daha olasıdır.

Diğer Hususlar

Okuyucumuzun yukarıdaki konuyla ilgili açıklamasıyla birlikte, dikkate almamız gereken birkaç ek öğe var:

  • Çökme sırasında, Explorer liste görünümünü doldurmaya çalışıyordu, ancak başaramadı.
  • Masaüstü yeniden doğduktan sonra sürücülere erişilememesi, başka bir işlemin bu cihazlardan bir veya daha fazlasının kilitli olduğunu ve dolayısıyla yeni oluşturulan explorer.exe işleminden erişimin engellendiğini gösterebilir.
  • Koşma sfc /scannow ve temiz bir sağlık raporu almak, Windows korumalı kaynakları değerlendirilmek üzere listenin en altına bırakır. Diğer nedenler çok daha olasıdır.

Düzeltmeler

Bu özel durumda, çözüm arayabileceğim üç alan var. Birincisi Windows Arama hizmetini içerir, ikincisi kabuk uzantılarını araştırmayı içerir ve sonuncusu VC++ yeniden dağıtılabilirlerinin kendisi olacaktır.

Orijinal ekran görüntüsü, Explorer liste görünümünü doldurmaya çalışırken meydana gelen kilitlenmeyi gösterdiğinden, Windows Arama hizmetinin gerekli kaynaklara erişimi engelliyor olması mümkündür. Hizmet çöktüğünde ve doğru yeniden başlatma parametrelerine sahip olmadığında bunun olduğunu gördüm.

basmak Kazan+R > tip services.msc > Tamam yönetim konsolunu hizmetler modülüyle başlatmak için. Windows Arama'ya gidin ve Özellikler iletişim kutusunu açmak için girişe çift tıklayın. Kurtarma sekmesindeki ayarların aşağıdaki resimle eşleştiğinden emin olun.

En yaygın sorun, 'Hizmeti şundan sonra yeniden başlat:' ayarıdır. Bu hata, bu ayar sıfır olmadığında sıklıkla oluşur.

Sorunlu Kabuk Uzantıları

İndirmek Nirsoft'un ShellExView sistem mimariniz için (x86 veya x64), kurun ve çalıştırın. Sistemi incelemek ve tabloyu verilerle doldurmak biraz zaman alacaktır. CLSID Değiştirilmiş Zaman sütununa ilerleyin ve bu alana göre sıralamak için başlığa tıklayın. Microsoft tarafından sağlanan modülleri hariç tutmak isterseniz, şuraya gidebilirsiniz: Seçenekler > Tüm Microsoft Uzantılarını Gizle . Windows'un 64 bit sürümünü kullananlar için, şuraya giderek sistemdeki 32 bit uzantıları da göstermek isteyebilirsiniz. Seçenekler > 32-bit Kabuk Uzantılarını Göster .

Belirtiler başlamadan hemen önce eklenen uzantıları arayın. Bir veya daha fazlasını seçin ve F7 ya da git Dosya > Seçili Öğeleri Devre Dışı Bırak veya araç çubuğundaki kırmızı LED simgesine tıklayın. İdeal olarak, bu birer birer yapılmalıdır.

Belirtilerin devam edip etmediğini görmek için test edin. Varsa, daha önce devre dışı bırakılan uzantıyı/uzantıları kullanarak yeniden etkinleştirebilirsiniz. F8 , Dosya > Seçili Öğeleri Etkinleştir veya yeşil LED araç çubuğu simgesi. Buradan farklı bir uzantıyı devre dışı bırakın ve soruna neden olanı bulana kadar test işlemini tekrarlayın.

VC++ Yeniden Dağıtılabilir Dosyalarını Onarın/Yeniden Yükleyin

Sadece bir program hata veriyorsa, bunu son çare olarak kullanıyorum. VC++ çalışma zamanı hatalarıyla ilgili sorun yaşayan birden fazla programınız varsa, önce bunu denemek isteyebilirsiniz.

Sistemimde kurulu programlara bakarken ( Denetim Masası > Programlar ve Özellikler ), sürüm 8'den sürüm 12'ye (VC++ 2005'ten VC++ 2013'e kadar) yeniden dağıtılabilir paketlerin (ve bazı güncellemelerinin) her sürümünü gösterir. Kullandığım Microsoft programlama araçları nedeniyle bunları yükledim. Çoğu kullanıcı bunların hepsine sahip olmayacak.

bulabilirsin Visual C++'ın desteklenen sürümleri için en son indirmeler Microsoft'tan. Buradaki amaçlarımız için, yalnızca 'yeniden dağıtılabilir' paketler olarak etiketlenenlerle ilgilenmeniz gerekir. Hizmet paketleri olarak sınıflandırılan bağlantılar, yalnızca çalışma zamanları için değil, programlama araçları içindir. Yalnızca sisteminizde yüklü olan programlarda şu anda listelenenlere ihtiyacınız olacak. Bu durumda diğer sürümleri yüklemek yardımcı olmaz. 64 bit işletim sistemi kullanıcıları, CRT'nin hem x86 hem de x64 sürümlerine ihtiyaç duyabilir.

Windows Update, bilgisayarınızda bu paketler için en son güncellemelerin kurulu olup olmadığını kontrol eder, ancak düzgün şekilde kurulup kurulmadığını ve bozulmadığını kontrol etmez. Yükleyiciler, tüm çalışma zamanı dosyalarının doğru dosyalar olduğundan ve tüm kayıt defteri girdilerinin doğru olduğundan emin olmak için denetleyebilir.

Uygun yükleyicileri indirdikten sonra, bunları sistemde çalıştırın. 2005 sürümleri, paketi yeniden yüklemeden önce bir lisans sözleşmesini kabul etmenizi ister. Diğerlerinin hepsinde, mevcut kurulumu onarmak veya kaldırmak isteyip istemediğinizi soran bir GUI vardır. Çoğu durumda, bir onarım işlemi sorunları çözecektir.

En uç yöntemi denemek istiyorsanız, çalışma zamanlarını kaldırabilir, makineyi yeniden başlatabilir ve ardından yeniden kurabilirsiniz. Bu yöntemi 2005 ve 2008 çalışma zamanlarında önermiyorum. Bunlar olmadan, Windows birçok hata üretecek ve yeniden başlattığınızda çok sayıda işlevsellik sizin için orada olmayacaktır.

Çözüm

Biraz gözlem, bir deneme yanılma dokunuşu ve sistemdeki çalışma zamanlarından hataların nasıl üretildiğinin biraz anlaşılmasıyla, yazılım sorunları karmaşık hata ayıklama araçlarına ve günlüklere başvurmadan bulunabilir ve çözülebilir.

Sisteminizde çalışma zamanı hatalarıyla mı karşılaştınız? Bunları çözmek için ne gerekiyordu? Aşağıdaki yorumlarda bana bildirin.

Paylaş Paylaş Cıvıldamak E-posta İşte FBI'ın Hive Ransomware için Uyarı Verme Nedeni

FBI, özellikle kötü bir fidye yazılımı türü hakkında bir uyarı yayınladı. İşte bu yüzden özellikle Hive fidye yazılımına karşı dikkatli olmanız gerekiyor.

Sonrakini Oku
İlgili konular
  • pencereler
  • Teknoloji Açıklaması
  • Uzmanlara Sorun
  • Windows Gezgini
  • pencereler
  • Dosya Gezgini
  • Windows Arama
  • Sorun giderme
Yazar hakkında bruce epper(13 Makale Yayınlandı)

Bruce, 70'lerden beri elektronikle, 80'lerin başından beri bilgisayarlarla oynuyor ve tüm zaman boyunca kullanmadığı veya görmediği teknolojiyle ilgili soruları doğru bir şekilde yanıtlıyor. O da gitar çalmaya teşebbüs ederek kendini rahatsız ediyor.

Bruce Epper'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın