Comment réparer les erreurs d'exécution Windows Visual C++

Comment réparer les erreurs d'exécution Windows Visual C++

Les bibliothèques partagées dans Windows rendent la programmation beaucoup plus efficace pour le programmeur qui n'a pas besoin de réinventer la roue à chaque fois qu'il doit effectuer une tâche commune. Ils facilitent également le colmatage des failles de sécurité dans le code partagé lorsqu'elles sont détectées, car il doit être corrigé à moins d'endroits et ne nécessite pas que chaque application soit recompilée.



Malgré ces aspects positifs, ils peuvent poser leurs propres problèmes lorsqu'ils tentent de résoudre la cause première des messages d'erreur qu'ils peuvent générer.

La question de notre lecteur :

Comment résoudre un problème Windows Vista 32 bits C:Windowsexplorer.exe sur un Dell Inspiron 530 ?





Après avoir cliqué sur le bouton OK dans la boîte de dialogue illustrée dans la capture d'écran, l'écran s'assombrira et reviendra au fonctionnement normal, mais il ne me permettra pas d'accéder au lecteur C, D et, parfois, au lecteur E lorsque j'essaie d'y accéder depuis Mon ordinateur.

Fonctionnement sfc/scannow ne trouve aucune erreur. J'ai téléchargé des mises à jour à partir des sites Web Dell et Microsoft pour essayer de résoudre ce problème. J'ai également installé le package redistribuable Microsoft Visual C++ 2010 (x86). Le PC est complètement à jour selon Windows Update.



Réponse de Bruce :

Remarque : les discussions sur l'Explorateur Windows dans Windows 7 et les versions antérieures s'appliquent également à l'Explorateur de fichiers dans Windows 8 et les versions ultérieures. S'il y a une différence notable entre eux, cela sera explicitement indiqué.

Le shell Windows

Windows Explorer est le shell et s'exécute en tant que processus explorer.exe comme indiqué dans le Gestionnaire des tâches ou l'Explorateur de processus de Sysinternals. Comme de nombreux autres programmes Windows, toutes les fonctionnalités fournies par le shell ne sont pas intégrées dans ce seul fichier exécutable. Il existe des dizaines d'autres fichiers EXE et DLL utilisés pour implémenter des feuilles de propriétés, des gestionnaires de propriétés, des gestionnaires de prévisualisation, des menus contextuels et de nombreux autres éléments que vous utilisez quotidiennement dans l'Explorateur Windows.

Coque extensible

Les extensions Shell permettent aux programmeurs d'ajouter facilement des fonctionnalités à l'Explorateur Windows en écrivant une DLL pour effectuer la tâche et en enregistrant la DLL avec le système d'exploitation, afin que l'Explorateur sache où trouver le code pour accomplir la tâche. Par exemple, 7-Zip ajoute un sous-menu au menu contextuel standard, donnant un accès rapide aux tâches de gestion des archives, Hard Disk Sentinel ajoute des superpositions d'icônes aux icônes de lecteur standard, afin que vous puissiez voir l'état de santé du lecteur en un coup d'œil, et HashTab ajoute une nouvelle feuille de propriétés, pour calculer et afficher les hachages du fichier sélectionné.

Bon nombre de ces extensions de shell sont implémentées en tant que serveurs COM (Component Object Model) in-process. Cela signifie que lorsqu'un processus, dans ce cas l'Explorateur Windows, utilise l'extension, il n'apparaîtra pas dans le Gestionnaire des tâches ou l'Explorateur de processus en tant que processus en cours d'exécution distinct avec son propre identificateur de processus (PID). Au lieu de cela, il s'exécute dans le processus appelant explorer.exe.

Processus d'instance unique par défaut

L'explorateur Windows est écrit pour pouvoir s'exécuter en tant que deux processus distincts, mais - dans sa configuration par défaut - il n'exécutera qu'une seule instance. Lorsqu'il est exécuté pour la première fois dans le cadre du processus de démarrage, il crée l'environnement de bureau Windows. L'exécuter à nouveau crée un nouveau thread dans le processus existant, qui affiche la fenêtre de gestion de fichiers familière, au lieu de démarrer un nouveau processus.

Ce comportement permet une empreinte mémoire réduite, mais peut également apporter sa propre petite touche lors du dépannage des problèmes. Une erreur critique ou une exception non gérée dans le code en cours d'exécution dans le processus explorer.exe, y compris les serveurs in-process fournis par les DLL, entraînera la panne de l'ensemble de l'environnement de bureau.

Dans la plupart des cas, le processus de bureau sera automatiquement redémarré. S'il ne redémarre pas, vous devriez toujours pouvoir utiliser Ctrl-Maj-Esc pour afficher le Gestionnaire des tâches. De là, allez à Fichier > Nouvelle tâche (Exécuter…) > taper explorer.exe > OK pour redémarrer le processus.

Cela peut être évité avec un simple changement. Ouvert Explorateur Windows > Organiser > Options de dossier et de recherche dans Vista/7. Pour Windows 8 et versions ultérieures, ouvrez Explorateur de fichiers > Affichage > Options > Modifier le dossier et les options de recherche . Sélectionnez le Onglet Afficher et vérifie Lancer les fenêtres de dossier dans un processus séparé .

application d'appel wifi gratuite pour android

La modification de ce paramètre isole votre processus de bureau de toutes les autres fenêtres de l'Explorateur Windows que vous avez ouvertes. Si l'une de ces fenêtres de l'Explorateur se bloque, votre bureau restera indemne.

Bibliothèque d'exécution Microsoft Visual C++ (CRT)

La bibliothèque d'exécution Microsoft Visual C++ fournit des routines pour la programmation de Windows qui automatisent de nombreuses tâches, telles que l'entrée/sortie, la manipulation de fichiers, l'allocation de mémoire, les appels système et bien d'autres.

Chaque installation de Windows aura au moins deux versions différentes du CRT installées. Une machine Vista SP2 via Windows 10 fraîchement construite aura à la fois les versions 8.0 et 9.0 (VC 2005 et VC 2008, respectivement). Lorsqu'un logiciel supplémentaire est installé, il peut également inclure des versions plus récentes des environnements d'exécution, selon la version de Visual C++ utilisée pour créer le programme ou l'un de ses composants.

Erreurs d'exécution

Lorsqu'une erreur ou une exception est rencontrée dans un morceau de code, idéalement, elle sera gérée dès que possible dans la procédure en cours d'exécution, et soit corrigée, soit permettre un échec normal. Si l'erreur n'est pas gérée localement, elle est transmise au code qui a appelé le code en cours d'exécution et le processus se poursuit jusqu'à ce que l'exception soit gérée. S'il termine son exécution jusqu'en haut de la chaîne et qu'il n'est toujours pas géré, il générera une erreur d'exécution comme indiqué ci-dessus.

Lorsque l'utilisateur clique sur le bouton OK, le processus est terminé. Si le programme a un comportement d'échec défini, tel que des services critiques, ou si son état d'exécution est surveillé par un autre processus, il peut être régénéré automatiquement. C'est ce qui se passe dans ce cas. L'écran s'éteint lorsque le processus explorer.exe est terminé, puis le bureau revient lorsque le processus explorer.exe est redémarré.

Bien que le message d'erreur ci-dessus indique clairement qu'il provient du processus explorer.exe, il est peu probable qu'il s'agisse d'un problème avec explorer.exe lui-même. Il est beaucoup plus probable que le coupable se trouve ailleurs, comme une extension tierce utilisée par Explorer.

autres considérations

Avec la description du problème ci-dessus par notre lecteur, nous devons prendre en compte quelques éléments supplémentaires :

  • Au moment du crash, Explorer essayait, mais n'y parvenait pas, de remplir la liste.
  • L'impossibilité d'accéder aux lecteurs après la réapparition du bureau peut indiquer qu'un ou plusieurs de ces périphériques sont verrouillés, empêchant ainsi l'accès du processus explorer.exe nouvellement créé.
  • Fonctionnement sfc/scannow et obtenir un bon état de santé, laisse tomber les ressources protégées de Windows au bas de la liste pour examen. D'autres causes sont beaucoup plus probables.

Les correctifs sont en place

Dans ce cas particulier, il y a trois domaines où je chercherais une solution. Le premier implique le service de recherche Windows, le second implique l'enquête sur les extensions de shell, et le dernier serait les redistribuables VC++ eux-mêmes.

Étant donné que la capture d'écran d'origine montre le plantage qui se produit lorsque l'Explorateur tente de remplir la liste, il est possible que le service Windows Search bloque l'accès aux ressources requises. J'ai vu cela se produire lorsque le service se bloque et n'a pas les bons paramètres de redémarrage.

presse Gagner+R > taper services.msc > OK pour démarrer la console de gestion avec le module services. Faites défiler jusqu'à Windows Search et double-cliquez sur l'entrée pour ouvrir la boîte de dialogue Propriétés. Assurez-vous que les paramètres de l'onglet Récupération correspondent à l'image ci-dessous.

Le problème le plus courant est le paramètre « Redémarrer le service après : ». Cette erreur se produit fréquemment lorsque ce paramètre est différent de zéro.

Extensions de shell problématiques

Télécharger ShellExView de Nirsoft pour l'architecture de votre système (x86 ou x64), installez-le et exécutez-le. Il faudra un peu de temps pour examiner le système et remplir le tableau avec des données. Faites défiler jusqu'à la colonne CLSID Modified Time et cliquez sur l'en-tête pour trier sur ce champ. Si vous souhaitez exclure les modules fournis par Microsoft, vous pouvez aller sur Options > Masquer toutes les extensions Microsoft . Pour ceux qui utilisent une version 64 bits de Windows, vous pouvez également afficher les extensions 32 bits sur le système en allant sur Options > Afficher les extensions de shell 32 bits .

Recherchez les extensions qui ont été ajoutées juste avant le début des symptômes. Sélectionnez-en un ou plusieurs et appuyez sur F7 ou aller à Fichier > Désactiver les éléments sélectionnés , ou cliquez sur l'icône LED rouge dans la barre d'outils. Idéalement, cela devrait être fait un à la fois.

Testez pour voir si les symptômes persistent. Si tel est le cas, vous pouvez réactiver les extensions précédemment désactivées en utilisant F8 , Fichier > Activer les éléments sélectionnés , ou l'icône de la barre d'outils LED verte. À partir de là, désactivez une extension différente et répétez le processus de test jusqu'à ce que vous trouviez celle qui cause le problème.

Réparer/Réinstaller les redistribuables VC++

J'utilise celui-ci en dernier recours, si un seul programme élimine les erreurs. Si vous avez plusieurs programmes qui rencontrent des problèmes avec des erreurs d'exécution VC++, vous pouvez d'abord essayer cela.

Lorsque vous regardez les programmes installés sur mon système ( Panneau de configuration > Programmes et fonctionnalités ), il affiche toutes les versions des packages redistribuables (et certaines de leurs mises à jour) allant de la version 8 à la version 12 (VC++ 2005 à VC++ 2013). Je les ai installés en raison des outils de programmation Microsoft que j'utilise. La plupart des utilisateurs n'auront pas tout cela.

Vous pouvez trouver le derniers téléchargements pour les versions prises en charge de Visual C++ de Microsoft. Pour nos besoins ici, vous n'avez besoin de vous préoccuper que de ceux qui sont étiquetés comme des packages « redistribuables ». Les liens classés comme service packs sont destinés aux outils de programmation, pas simplement aux runtimes. Vous n'aurez besoin que de ceux qui sont actuellement répertoriés dans les programmes installés sur votre système. L'installation d'autres versions n'aidera pas dans ce cas. Les utilisateurs de systèmes d'exploitation 64 bits peuvent avoir besoin des versions x86 et x64 du CRT.

Windows Update vérifie si les dernières mises à jour de ces packages sont installées sur votre ordinateur, mais ne vérifie pas qu'il est correctement installé et qu'il n'a pas été endommagé. Les programmes d'installation peuvent vérifier que tous les fichiers d'exécution sont les bons et que toutes les entrées de registre sont correctes.

Une fois que vous avez téléchargé les programmes d'installation appropriés, exécutez-les sur le système. Les versions 2005 vous inviteront à accepter un contrat de licence avant de réinstaller le package. Tous les autres ont une interface graphique qui vous demandera si vous souhaitez réparer ou désinstaller l'installation existante. Dans la plupart des cas, une opération de réparation résoudra tous les problèmes.

Si vous voulez essayer la méthode la plus extrême, vous pouvez désinstaller les runtimes, redémarrer la machine, puis les réinstaller. Je ne recommande pas cette méthode avec les runtimes 2005 et 2008. Sans eux, Windows générera beaucoup d'erreurs et de nombreuses fonctionnalités ne seront pas disponibles pour vous lorsque vous redémarrerez.

Conclusion

Avec un peu d'observation, une touche d'essais et d'erreurs et une certaine compréhension de la façon dont les erreurs sont générées à partir des environnements d'exécution sur le système, les problèmes logiciels peuvent être détectés et résolus sans avoir recours à des outils de débogage et des journaux compliqués.

Avez-vous rencontré des erreurs d'exécution sur votre système ? Que fallait-il pour les résoudre ? Faites-le moi savoir dans les commentaires ci-dessous.

Partager Partager Tweeter E-mail Voici pourquoi le FBI a émis un avertissement pour Hive Ransomware

Le FBI a émis un avertissement concernant une souche particulièrement désagréable de ransomware. Voici pourquoi vous devez vous méfier particulièrement du ransomware Hive.

Lire la suite
Rubriques connexes
  • les fenêtres
  • La technologie expliquée
  • Demandez aux experts
  • Windows Explorer
  • les fenêtres
  • Explorateur de fichiers
  • Recherche Windows
  • Dépannage
A propos de l'auteur Bruce Epper(13 articles publiés)

Bruce joue avec l'électronique depuis les années 70, les ordinateurs depuis le début des années 80, et répond avec précision aux questions sur la technologie qu'il n'a pas utilisée ni vue tout le temps. Il s'agace aussi en essayant de jouer de la guitare.

Plus de Bruce Epper

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner