Reklama

Zdieľané knižnice vo Windows zefektívňujú programovanie pre programátora, ktorý nepotrebuje znovu vynájsť koleso zakaždým, keď potrebuje vykonať spoločnú úlohu. Uľahčujú tiež zapájanie bezpečnostných dier do zdieľaného kódu, keď sa nachádzajú, pretože je potrebné ich opraviť na menšom mieste a nevyžaduje, aby sa každá aplikácia prekompilovala.

Napriek týmto pozitívnym aspektom môžu pri pokuse o riešenie základnej príčiny chybových správ, ktoré môžu vygenerovať, predstavovať svoje vlastné problémy.

Otázka nášho čitateľa:

Ako vyriešim problém so systémom Windows Vista 32-bit C: \ Windows \ explorer.exe na počítači Dell Inspiron 530?

Po kliknutí na tlačidlo OK v dialógovom okne zobrazenom na obrazovke sa obrazovka stmavne a vráti sa do normálu beží, ale nedovolí mi prístup k jednotkám C, D a niekedy aj k jednotke E, keď sa ich snažím získať z Mojej Computer.

beh sfc / scannow nenájde žiadne chyby. Sťahoval som aktualizácie z webových stránok spoločnosti Dell aj spoločnosti Microsoft, ktoré sa snažili tento problém vyriešiť. Nainštaloval som tiež redistribuovateľný balík Microsoft Visual C ++ 2010 (x86). Počítač je úplne aktualizovaný v súlade so službou Windows Update.

instagram viewer

runtime-error

Bruceova odpoveď:

Poznámka: Diskusie o prieskumníkovi Windows v systéme Windows 7 a starších verziách sa vzťahujú aj na program Prieskumník v systéme Windows 8 a novších verziách. Ak medzi nimi bude výrazný rozdiel, bude to výslovne uvedené.

Windows Shell

Prieskumník systému Windows je shell a beží ako proces explorer.exe, ako je vidieť v Správcovi úloh alebo Prieskumník procesov spoločnosti Sysinternals Process Explorer - najúčinnejšia náhrada správcu úloh [Windows]Úprimne povedané, Správca úloh systému Windows nie je vynikajúci na porozumenie a správu procesov bežiacich na vašom počítači. Dokonca aj v prípade systému Windows 8, kde je vylepšený, sa správca úloh nemôže priblížiť k ... Čítaj viac . Rovnako ako mnoho iných programov Windows, všetky funkcie poskytované prostredím nie sú začlenené do jedného spustiteľného súboru. Existujú desiatky ďalších súborov EXE a Súbory DLL Ako opraviť chýbajúce súbory DLL chýb Čítaj viac Používa sa na implementáciu listov vlastností, popisovačov vlastností, popisovačov ukážok, kontextových ponúk a mnohých ďalších prvkov, ktoré každý deň používate v Prieskumníkovi systému Windows.

Rozšíriteľná škrupina

Rozšírenia prostredia umožňujú programátorom ľahko pridať funkcie do Prieskumníka systému Windows tak, že napíšu súbor DLL, ktorý vykoná úlohu a registráciu DLL v operačnom systéme, takže Explorer vie, kde nájsť kód na splnenie úloha. Napríklad, 7-Zip Ako extrahovať súbory zo ZIP, RAR, 7z a ďalších bežných archívovBoli ste niekedy konfrontovaní s príponou .rar a zaujímalo by vás, ako ju otvoriť? Našťastie je spravovanie súborov ZIP a iných komprimovaných archívov pomocou správnych nástrojov jednoduché. Toto je potrebné vedieť. Čítaj viac pridá do štandardnej kontextovej ponuky podponuku, ktorá umožňuje rýchly prístup k úlohám spracovania archívu, Pevný disk Sentinel Dávajte pozor na svoje HDD a SSD zdravie pomocou pevného disku SentinelUž ste niekedy mali poruchu jazdy? Je smutné, že neexistuje žiadny všeliek na zabránenie poškodenia hardvéru. Monitorovanie pevného disku alebo disku SSD s cieľom konať v prípade pravdepodobnosti ich úmrtia je však prvým krokom. Čítaj viac pridáva prekrytia ikon do štandardných ikon jednotiek, takže môžete okamžite vidieť zdravotný stav jednotky a HashTab pridá nový hárok vlastností na výpočet a zobrazenie hashov vybratého súboru.

obsahové menu

Mnohé z týchto rozšírení shellu sú implementované ako servery v procese COM (Component Object Model). To znamená, že keď proces, v tomto prípade program Prieskumník Windows, použije rozšírenie, nezobrazí sa v Správcovi úloh alebo Prieskumníkovi procesov ako samostatný bežiaci proces s vlastným identifikátorom procesu (PID). Namiesto toho sa vykonáva vo vnútri procesu volajúceho explorer.exe.

Predvolený postup pre jednu inštanciu

Program Windows Explorer je napísaný tak, aby bol schopný bežať ako dva samostatné procesy, ale v predvolenej konfigurácii bude spúšťať iba jednu inštanciu. Keď sa prvýkrát spustí ako súčasť procesu spustenia, vytvorí prostredie pracovnej plochy Windows. Jeho opätovným vytvorením sa vytvorí nové vlákno v existujúcom procese, ktoré namiesto začatia nového procesu zobrazuje okno na správu známeho súboru.

Toto správanie umožňuje zmenšenú pamäťovú stopu, ale pri riešení problémov môže priniesť aj malý zvrat. Kritická chyba alebo neošetřená výnimka v kóde, ktorý sa vykonáva v procese explorer.exe, vrátane serverov v procese, ktoré poskytujú knižnice DLL, spôsobí, že s tým celé prostredie pracovnej plochy prepadne.

Vo väčšine prípadov sa proces pracovnej plochy automaticky reštartuje. Ak sa nereštartuje, mali by ste byť stále schopní použiť Ctrl-Shift-Esc na vyvolanie Správcu úloh. Odtiaľ choďte na Súbor> Nová úloha (spustiť ...)> typ explorer.exe> ​​OK na reštartovanie procesu.

Tomu sa dá vyhnúť jednoduchou zmenou. Otvorené Prieskumník systému Windows> Usporiadať> Možnosti priečinka a vyhľadávania vo Vista / 7. Pre Windows 8 a novšie verzie otvorte Prieskumník súborov> Zobraziť> Možnosti> Zmeniť priečinok a možnosti vyhľadávania. Vyberte ikonu Karta Zobraziť a skontrolovať Okná priečinkov spúšťajte v samostatnom procese.

nastavenia adresáru

Zmenou tohto nastavenia sa izoluje proces pracovnej plochy od všetkých ostatných otvorených okien Prieskumníka Windows. Ak dôjde k zlyhaniu niektorého z týchto okien Prieskumníka, vaša pracovná plocha zostane nezranená.

Knižnica Microsoft Visual C ++ Runtime (CRT)

Knižnica Microsoft Visual C ++ Runtime Library poskytuje rutiny na programovanie systému Windows, ktoré automatizujú mnoho úloh, napríklad vstup / výstup, manipuláciu so súbormi, alokáciu pamäte, systémové volania a mnoho ďalších.

Každá inštalácia systému Windows bude mať nainštalované najmenej dve rôzne verzie CRT. Čerstvo zostrojený počítač s operačným systémom Vista SP2 prostredníctvom systému Windows 10 bude mať verzie 8.0 a 9.0 (VC 2005 a VC 2008). Keď je nainštalovaný ďalší softvér, môže tiež obsahovať novšie verzie runtime, v závislosti od toho, ktorá verzia Visual C ++ bola použitá na vytvorenie programu alebo akýchkoľvek jeho komponentov.

Chyby runtime

Ak sa v určitom kóde kódu vyskytne chyba alebo výnimka, v ideálnom prípade sa bude riešiť hneď ako v prebiehajúcom postupe a buď opraviť, alebo umožniť elegantné zlyhanie. Ak sa chyba nezaoberá lokálne, dostane sa do kódu, ktorý nazýva práve vykonávajúci kód, a proces pokračuje, kým sa nespracuje výnimka. Ak dokončí svoj chod na začiatok reťazca a stále sa s ním nezaobchádza, vygeneruje chybu runtime, ako je uvedené vyššie.

Keď používateľ klikne na tlačidlo OK, proces sa ukončí. Ak má program definované správanie pri poruche, ako sú kritické služby, alebo ak je jeho prevádzkový stav monitorovaný iným procesom, môže byť automaticky obnovený. To sa deje v tomto prípade. Po ukončení procesu explorer.exe obrazovka zhasne a po reštarte procesu explorer.exe sa obnoví pracovná plocha.

Hoci vyššie uvedené chybové hlásenie jasne naznačuje, že pochádza z procesu explorer.exe, nie je pravdepodobné, že by to bol problém so samotným explorer.exe. Je oveľa pravdepodobnejšie, že vinníkom je niekde inde, napríklad rozšírenie tretej strany, ktoré používa Explorer.

Ďalšie úvahy

Pri vyššie uvedenom popise problému nášho čitateľa je potrebné vziať do úvahy niekoľko ďalších položiek:

  • V čase havárie sa Explorer snažil, ale nedokázal naplniť zobrazenie zoznamu.
  • Neschopnosť prístupu k jednotkám po resawnovaní pracovnej plochy môže naznačovať, že iný proces má jeden alebo viac týchto zariadení zamknutých, čím sa zabráni prístupu z novo vytvoreného prieskumníka.exe proces.
  • beh sfc / scannow a získať čistý zdravotný stav, prostriedky chránené systémom Windows sa presunú na koniec zoznamu na zváženie. Iné príčiny sú oveľa pravdepodobnejšie.

Opravy sú v

V tomto konkrétnom prípade by som hľadal riešenie v troch oblastiach. Prvá zahŕňa službu Windows Search, druhá zahŕňa preskúmanie rozšírení shellu a posledná by bola samotná redistribuovateľná tabuľka VC ++.

Windows Search

Pretože pôvodná snímka obrazovky ukazuje zlyhanie, keď sa Explorer pokúša naplniť Listview je možné, že služba Windows Search blokuje prístup k požadovaným zdrojom. Videl som, že sa to stalo, keď sa služba zrúti a nemá správne parametre reštartu.

lis Win + R> typ services.msc> OK na spustenie riadiacej konzoly s modulom služieb. Prejdite nadol na položku Windows Search a dvojitým kliknutím na položku otvorte dialógové okno Vlastnosti. Skontrolujte, či sa nastavenia na karte Obnovenie zhodujú s obrázkom nižšie.

windows-search-reality

Najbežnejším problémom je nastavenie „Reštartovať službu po:“. Táto chyba sa často vyskytuje, keď je toto nastavenie nenulové.

Problematické rozšírenia shellu

Stiahnuť ▼ ShellExView od spoločnosti Nirsoft pre architektúru systému (x86 alebo x64) ju nainštalujte a spustite. Bude trvať nejaký čas, kým sa systém preskúma a vyplní tabuľka údajmi. Prejdite na stĺpec CLSID Modified Time a kliknutím na hlavičku zoradite toto pole. Ak si želáte vylúčiť moduly poskytované spoločnosťou Microsoft, môžete ísť na Možnosti> Skryť všetky rozšírenia spoločnosti Microsoft. Pre tých, ktorí používajú 64-bitovú verziu systému Windows, môžete tiež chcieť zobraziť 32-bitové rozšírenia v systéme Možnosti> Zobraziť 32-bitové rozšírenia shellu.

Vyhľadajte rozšírenia, ktoré boli pridané tesne pred začiatkom príznakov. Vyberte jeden alebo viac a stlačte F7 alebo choď na Súbor> Zakázať vybrané položkyalebo kliknite na červenú ikonu LED na paneli nástrojov. V ideálnom prípade by sa to malo robiť naraz.

Otestujte, či príznaky pretrvávajú. Ak áno, predtým zakázané rozšírenia môžete znova povoliť pomocou F8, Súbor> Povoliť vybrané položkyalebo zelená ikona panela s nástrojmi LED. Odtiaľ zakážte iné rozšírenie a opakujte proces testovania, kým nenájdete ten, ktorý spôsobuje problém.

Oprava / preinštalovanie redistribuovateľných tabuliek VC ++

Tento program používam ako poslednú možnosť, ak chyby vyhodí iba jeden program. Ak máte viac programov, ktoré majú problémy s chybami runtime VC ++, môžete skúsiť najskôr.

Pri prezeraní nainštalovaných programov v mojom systéme (Ovládací panel> Programy a funkcie), zobrazuje všetky verzie redistribuovateľných balíkov (a niektoré ich aktualizácie) od verzie 8 po verziu 12 (VC ++ 2005 až VC ++ 2013). Mám nainštalované kvôli programovacím nástrojom spoločnosti Microsoft, ktoré používam. Väčšina používateľov ich nebude mať všetky.

inštalovaný vcpp-Redist

Nájdete najnovšie súbory na stiahnutie pre podporované verzie programu Visual C ++ od spoločnosti Microsoft. Pre naše účely sa tu musíte zaoberať iba tými, ktoré sú označené ako „redistribuovateľné“ balíčky. Odkazy, ktoré sú klasifikované ako balíky Service Pack, slúžia na programovacie nástroje, nie iba na runtime. Budete potrebovať iba tie, ktoré sú aktuálne uvedené v nainštalovaných programoch vo vašom systéme. Inštalácia iných verzií v tomto prípade nepomôže. Používatelia 64-bitových operačných systémov môžu potrebovať verzie CRT x86 aj x64.

Služba Windows Update skontroluje, či má váš počítač nainštalované najnovšie aktualizácie týchto balíkov, ale nekontroluje, či je správne nainštalovaný a či nebol poškodený. Inštalatéri môžu skontrolovať, či sú všetky súbory runtime správne a či sú všetky položky registra správne.

Po stiahnutí vhodných inštalátorov ich spustite v systéme. Verzie 2005 vás vyzvú na prijatie licenčnej zmluvy pred opätovnou inštaláciou balíka. Všetci ostatní majú GUI, ktoré vás požiada, či chcete opraviť alebo odinštalovať existujúcu inštaláciu. Vo väčšine prípadov opravná operácia vyrieši všetky problémy.

Ak chcete vyskúšať najextrémnejšiu metódu, môžete odinštalovať runtime, reštartovať počítač a potom ich znova nainštalovať. Túto metódu neodporúčam s runtimemi 2005 a 2008. Bez nich bude systém Windows generovať veľa chýb a pri reštarte nebude pre vás k dispozícii veľa funkcií.

záver

S trochou pozorovania, nádychom pokusu a omylu a určitým pochopením toho, ako sa generujú chyby runtime v systéme, softvérové ​​problémy možno nájsť a vyriešiť bez použitia komplikovaných ladiacich nástrojov a protokoly.

Vyskytli sa vo vašom systéme chyby runtime? Čo bolo potrebné na ich riešenie? Dajte mi vedieť v komentároch nižšie.

Bruce hrá s elektronikou už od 70. rokov, počítače od začiatku 80. rokov a presne odpovedal na otázky týkajúce sa technológie, ktorú po celú dobu nepoužíva. Tiež sa hnevá tým, že sa pokúša hrať na gitaru.