Kako ispraviti Windows Visual C ++ runtime pogreške

Kako ispraviti Windows Visual C ++ runtime pogreške

Zajedničke knjižnice u sustavu Windows čine programiranje mnogo učinkovitijim za programera koji ne mora izmišljati kotač svaki put kad treba izvršiti zajednički zadatak. Oni također olakšavaju zatvaranje sigurnosnih rupa u dijeljenom kodu kada se pronađu jer ga je potrebno zakrpati na manje mjesta i ne zahtijeva ponovno sastavljanje svake aplikacije.





Unatoč tim pozitivnim aspektima, oni mogu predstavljati vlastite probleme pri pokušaju rješavanja temeljnog uzroka poruka o pogrešci koje mogu generirati.





Pitanje našeg čitatelja:

Kako riješiti problem 32-bitnog C: Windows explorer.exe sustava Windows Vista na Dell Inspiron 530?





Nakon što pritisnete gumb U redu u dijaloškom okviru prikazanom na snimci zaslona, ​​zaslon će se zacrniti i vratiti u normalan rad, ali neće mi dopustiti pristup C, D i, ponekad, E pogonu pri pokušaju pristupa s Moga računala.

Trčanje sfc /scannow ne nalazi greške Preuzimao sam ažuriranja s web mjesta Dell i Microsoft pokušavajući riješiti ovaj problem. Također sam instalirao Microsoft Visual C ++ 2010 redistributable Package (x86). Računalo je potpuno ažurirano prema Windows Update-u.



Bruceov odgovor:

Napomena: Rasprave o Windows Exploreru u sustavu Windows 7 i starijim verzijama također se odnose na File Explorer u sustavu Windows 8 i novijim verzijama. Ako među njima postoji značajna razlika, to će biti izričito navedeno.

Windows Shell

Windows Explorer je ljuska i radi kao proces explorer.exe kako se vidi u Upravitelju zadataka ili Sysinternals -ovom Process Exploreru. Kao i mnogi drugi Windows programi, sve funkcije koje pruža ljuska nisu ugrađene u tu jednu izvršnu datoteku. Postoje desetine drugih EXE i DLL datoteka koje se koriste za implementaciju listova svojstava, rukovatelja svojstvima, obrada pregleda, kontekstnih izbornika i mnogih drugih elemenata koje svakodnevno koristite u Windows Exploreru.





Proširiva ljuska

Proširenja ljuske omogućuju programerima da jednostavno dodaju funkcionalnost Windows Exploreru tako što će napisati DLL za izvršavanje zadatka i registrirati DLL u operativnom sustavu, tako da Explorer zna gdje pronaći kod za izvršavanje zadatka. Na primjer, 7-Zip dodaje podizbornik standardnom kontekstnom izborniku, dajući brz pristup zadacima rukovanja arhivom, Sentinel tvrdog diska dodaje slojeve ikona standardnim ikonama pogona, tako da možete vidjeti stanje zdravlja pogona na prvi pogled, i HashTab dodaje novi list svojstava za izračunavanje i prikaz raspršivanja odabrane datoteke.

Mnoga od ovih proširenja ljuske implementirana su kao poslužitelji Component Object Model (COM) u procesu. To znači da kada proces, u ovom slučaju Windows Explorer, koristi proširenje, neće se pojaviti u Upravitelju zadataka ili Process Exploreru kao zasebni pokrenuti proces sa svojim identifikatorom procesa (PID). Umjesto toga, izvršava se unutar procesa pozivanja explorer.exe.





Zadani proces u jednoj instanci

Windows Explorer je napisan da se može pokrenuti kao dva odvojena procesa, ali - u zadanoj konfiguraciji - izvodit će samo jednu instancu. Kada se prvi put izvrši kao dio procesa pokretanja, stvara se okruženje radne površine sustava Windows. Ponovno izvršavanje stvara novu nit u postojećem procesu, koja prikazuje poznati prozor za upravljanje datotekama, umjesto pokretanja novog procesa.

Ovakvo ponašanje omogućuje smanjeni memorijski prostor, ali može donijeti i vlastiti zaokret pri rješavanju problema. Kritična pogreška ili neobrađena iznimka u kodu koji se izvršava u procesu explorer.exe, uključujući poslužitelje unutar procesa koje pružaju DLL-ovi, uzrokovat će pogoršanje cijelog okruženja radne površine.

U većini slučajeva, radna površina proces će se automatski ponovno pokrenuti. Ako se ne ponovno pokrene, i dalje biste mogli koristiti Ctrl-Shift-Esc za otvaranje Upravitelja zadataka. Odatle idite na Datoteka> Novi zadatak (Pokreni ...)> tip explorer.exe> ​​U redu za ponovno pokretanje procesa.

To se može izbjeći jednostavnom promjenom. Otvorena Windows Explorer> Organiziraj> Mape i mogućnosti pretraživanja u sustavu Vista/7. Za Windows 8 i novije verzije otvorite File Explorer> View> Options> Change folder and search options . Odaberite Kartica Prikaz i provjerite Pokrenite prozore mapa u zasebnom procesu .

kako dodati tekst na tiktok

Promjenom ove postavke izolirat ćete radnu površinu od svih ostalih prozora Windows Explorera koje ste otvorili. Ako se bilo koji od tih prozora Explorera sruši, vaša će radna površina ostati neoštećena.

Microsoft Visual C ++ biblioteka za vrijeme izvođenja (CRT)

Microsoft Visual C ++ Runtime Library pruža rutine za programiranje Windowsa koje automatiziraju mnoge zadatke, kao što su ulaz/izlaz, manipulacija datotekama, raspodjela memorije, sistemski pozivi i mnogi drugi.

Svaka instalacija sustava Windows imat će najmanje dvije različite verzije CRT -a. Svježe izgrađena Vista SP2 putem Windows 10 stroja imat će verzije 8.0 i 9.0 (VC 2005 i VC 2008). Kad je instaliran dodatni softver, on može uključivati ​​i novije verzije vremena izvođenja, ovisno o tome koja je verzija Visual C ++ korištena za izradu programa ili bilo koje njegove komponente.

Pogreške tijekom izvođenja

Kad se u komadu koda naiđe na pogrešku ili iznimku, u idealnom slučaju to će se riješiti što je prije moguće u trenutno izvršavanom postupku, ili će se ispraviti ili dopustiti greška. Ako se pogreškom ne rukuje lokalno, prosljeđuje se do koda koji je pozvao trenutno izvršavajući kôd, a proces se nastavlja sve dok se iznimka ne rukuje. Ako dovrši pokretanje do vrha lanca, a još uvijek se njime ne rukuje, generirat će grešku tijekom izvođenja, kao što je gore prikazano.

Kada korisnik klikne gumb U redu, proces će se prekinuti. Ako program ima definirano ponašanje greške, kao što su kritične usluge, ili njegovo stanje izvođenja prati neki drugi proces, može se automatski ponovno prikazati. Ovo se događa u ovom slučaju. Zaslon se zamračuje kada se proces explorer.exe završi, a zatim se radna površina vraća kada se proces explorer.exe ponovno pokrene.

Iako gornja poruka o pogrešci jasno ukazuje da je potekla iz procesa explorer.exe, nije vjerojatno da će biti problema sa samim explorer.exe. Mnogo je vjerojatnije da je krivac drugdje, poput proširenja treće strane koje koristi Explorer.

Ostala razmatranja

Uz gornji opis našeg čitatelja, postoji nekoliko dodatnih stavki koje moramo uzeti u obzir:

  • U vrijeme rušenja Explorer je pokušavao, ali nije uspio, popuniti prikaz popisa.
  • Nemogućnost pristupa pogonima nakon ponovnog otvaranja radne površine može ukazivati ​​na to da drugi proces ima zaključan jedan ili više tih uređaja, čime se sprječava pristup novostvorenom procesu explorer.exe.
  • Trčanje sfc /scannow i dobivanjem čistog zdravstvenog stanja, baca zaštićene resurse sustava Windows na dno popisa radi razmatranja. Drugi uzroci su daleko vjerojatniji.

Došli su popravci

U ovom konkretnom slučaju postoje tri područja u kojima bih tražio rješenje. Prvi uključuje uslugu Windows Search, drugi uključuje istraživanje proširenja ljuske, a posljednji bi bili sami VC ++ redistributables.

Budući da izvorni snimak zaslona prikazuje rušenje koje se događa kada Explorer pokušava popuniti prikaz popisa, moguće je da usluga Windows Search blokira pristup potrebnim resursima. Vidio sam da se to događa kada se usluga ruši i nema ispravne parametre ponovnog pokretanja.

Pritisnite Win+R> tip services.msc> U redu za pokretanje upravljačke konzole s uslužnim modulom. Pomaknite se dolje do Windows pretraživanja i dvaput kliknite na unos da biste otvorili dijalog Svojstva. Provjerite odgovaraju li postavke na kartici Oporavak donjoj slici.

Najčešći problem je postavka 'Restart service after:'. Ova se pogreška često javlja kada ova postavka nije nula.

Problematična proširenja ljuske

preuzimanje datoteka Nirsoft ShellExView za vašu arhitekturu sustava (x86 ili x64), instalirajte je i pokrenite. Trebat će malo vremena za pregled sustava i popunjavanje tablice podacima. Pomaknite se do stupca CLSID Modified Time i kliknite zaglavlje da biste sortirali ovo polje. Ako želite isključiti module koje nudi Microsoft, možete otići na Opcije> Sakrij sva Microsoftova proširenja . Za one koji koriste 64-bitnu verziju sustava Windows, možda ćete htjeti prikazati 32-bitna proširenja u sustavu tako što ćete otići na Opcije> Prikaži 32-bitna proširenja ljuske .

Potražite proširenja koja su dodana neposredno prije početka simptoma. Odaberite jednu ili više i pritisnite F7 ili idite na Datoteka> Onemogući odabrane stavke ili kliknite na crvenu LED ikonu na alatnoj traci. U idealnom slučaju, to bi trebalo biti učinjeno jedan po jedan.

Testirajte da biste vidjeli postoje li simptomi. Ako to učine, možete ponovno omogućiti prethodno onemogućena proširenja (a) pomoću F8 , Datoteka> Omogući odabrane stavke ili ikonu zelene LED alatne trake. Odavde onemogućite drugo proširenje i ponavljajte postupak testiranja dok ne pronađete ono koje uzrokuje problem.

Popravite/ponovno instalirajte VC ++ redistributable

Ovo koristim kao posljednje sredstvo, ako samo jedan program izbacuje pogreške. Ako imate više programa koji imaju problema s pogreškama tijekom izvođenja VC ++, možda biste trebali prvo ovo isprobati.

Kad pogledam instalirane programe na mom sustavu ( Upravljačka ploča> Programi i značajke ), prikazuje svaku verziju paketa koji se mogu dalje distribuirati (i neka njihova ažuriranja) u rasponu od verzije 8 do verzije 12 (VC ++ 2005 do VC ++ 2013). Instalirao sam ih zbog Microsoftovih programskih alata koje koristim. Većina korisnika neće imati sve ovo.

Možete pronaći najnovija preuzimanja za podržane verzije Visual C ++ iz Microsofta. Za naše potrebe ovdje trebate se brinuti samo o onima koji su označeni kao 'redistributable' paketi. Veze koje su klasificirane kao servisni paketi služe za programske alate, a ne samo za vrijeme izvođenja. Trebat će vam samo oni koji su trenutno navedeni u instaliranim programima na vašem sustavu. Instaliranje drugih verzija u ovom slučaju neće pomoći. Korisnici 64-bitnih operacijskih sustava možda će trebati i x86 i x64 verzije CRT-a.

Windows Update provjerava ima li na vašem računalu instalirana najnovija ažuriranja za ove pakete, ali ne provjerava je li pravilno instalirano i nije li slomljeno. Instalacijski programi mogu provjeriti jesu li sve datoteke za vrijeme izvođenja ispravne i jesu li sve stavke registra ispravne.

Nakon što preuzmete odgovarajuće instalatere, pokrenite ih u sustavu. Verzije iz 2005. od vas će tražiti da prihvatite licencni ugovor prije ponovne instalacije paketa. Svi ostali imaju GUI koji će vas pitati želite li popraviti ili deinstalirati postojeću instalaciju. U većini slučajeva, popravak će riješiti sve probleme.

Ako želite isprobati najekstremniju metodu, možete deinstalirati vrijeme izvođenja, ponovno pokrenuti stroj, a zatim ih ponovo instalirati. Ne preporučujem ovu metodu za vrijeme izvođenja 2005. i 2008. godine. Bez njih, Windows će generirati mnogo pogrešaka, a velika količina funkcionalnosti neće vam biti na raspolaganju pri ponovnom pokretanju.

Zaključak

Uz malo zapažanja, dodira pokušaja i pogrešaka i određenog razumijevanja o tome kako se greške stvaraju tijekom vremena izvođenja u sustavu, softverski se problemi mogu pronaći i riješiti bez pribjegavanja kompliciranim alatima i zapisnicima za ispravljanje pogrešaka.

Jeste li naišli na greške tijekom izvođenja na vašem sustavu? Što je bilo potrebno za njihovo rješavanje? Javite mi u komentarima ispod.

Udio Udio Cvrkut E -pošta Evo zašto je FBI izdao upozorenje za otkupni softver u košnicama

FBI je izdao upozorenje o posebno gadnoj vrsti ransomwarea. Evo zašto morate biti posebno oprezni s Hive ransomwareom.

Pročitajte Dalje
Povezane teme
  • Windows
  • Objašnjena tehnologija
  • Pitajte stručnjake
  • Windows Explorer
  • Windows
  • Istraživač datoteka
  • Windows pretraživanje
  • Rješavanje problema
O autoru Bruce Epper(Objavljeno 13 članaka)

Bruce se s elektronikom igra od 70 -ih, računala od ranih 80 -ih i točno odgovara na pitanja o tehnologiji koju nije koristio niti vidio cijelo vrijeme. I sam sebe živcira pokušavajući svirati gitaru.

Više od Brucea Eppera

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e -knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu