Comment fenêtres corriger les erreurs d`exécution visual c ++

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 a besoin d`accomplir une tâche commune. Ils font également plus facile de boucher les trous de sécurité dans le code partagé quand ils se trouvent car il a besoin d`être patché en moins d`endroits et ne nécessite pas que chaque demande soit recompilé.

En dépit de ces aspects positifs, ils peuvent poser leurs propres problèmes lors d`une tentative de résoudre la cause des messages d`erreur, ils peuvent générer.

Notre question de lecteur:

Comment puis-je résoudre un 32 bits de Windows Vista C: problème Windows explorer.exe sur un Dell Inspiron 530?

Après avoir cliqué sur le bouton OK dans la boîte de dialogue affichée dans la capture d`écran, l`écran noircit et retourner à un fonctionnement normal, mais il ne me permet pas d`accéder à la C, D, et, parfois, le lecteur E en essayant d`y accéder Poste de travail.

Fonctionnement sfc / scannow ne trouve pas d`erreurs. J`ai téléchargé les mises à jour à la fois des sites Dell et Microsoft tentent de résoudre ce problème. J`ai également installé le Microsoft Visual C ++ 2010 Redistributable Package (x86). Le PC est complètement selon Windows Update une mise à jour.

Video: How to Fix Microsoft Visual C++ 2015 Redistributable Setup Failed error 0x80240017

erreur d`exécution

Réponse de Bruce:

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

Windows Shell

Windows Explorer est la coquille et exécute le processus explorer.exe comme on le voit dans le Gestionnaire des tâches ou Procédé de Sysinternals l`explorateur. Comme beaucoup d`autres programmes Windows, toutes les fonctionnalités fournies par le shell n`est pas intégré dans ce fichier exécutable unique. Il y a des dizaines d`autres EXE et fichiers DLL utilisé pour mettre en œuvre des feuilles de propriétés, les gestionnaires immobiliers, les gestionnaires d`aperçu, les menus contextuels, et bien d`autres éléments que vous utilisez dans l`Explorateur Windows tous les jours.Process Explorer - le plus puissant Gestionnaire des tâches de remplacement [Windows]Process Explorer - le plus puissant Gestionnaire des tâches de remplacement [Windows]Soyons honnêtes, le Gestionnaire des tâches Windows est pas terrible pour comprendre et gérer les processus en cours d`exécution sur votre ordinateur. Même sur Windows 8, où il est beaucoup améliorée, le gestionnaire de tâches ne peut pas se rapprocher de la ...Lire la suite

extensible Shell

extensions shell permettent aux programmeurs d`ajouter facilement des fonctionnalités à l`Explorateur Windows en écrivant une DLL pour effectuer la tâche et l`enregistrement de la DLL avec le système d`exploitation, de sorte que l`explorateur sait où trouver le code pour accomplir la tâche. Par exemple, 7-Zip ajoute un sous-menu dans le menu contextuel standard, ce qui donne un accès rapide aux tâches de manipulation d`archives, Hard Disk Sentinel ajoute des superpositions icône aux icônes de lecteur standard afin que vous puissiez voir l`état de santé d`entraînement un coup d`oeil, et HashTab ajoute une nouvelle feuille de propriétés, de calculer et de hash d`affichage du fichier sélectionné.

menu contextuel

Un grand nombre de ces extensions shell sont mises en œuvre comme en cours Component Object Model (COM serveurs). Cela signifie que lorsqu`un processus, dans ce cas, l`Explorateur Windows, utilise l`extension, il ne sera pas apparaître dans le Gestionnaire des tâches ou Process Explorer comme un processus en cours d`exécution séparée avec son propre identificateur de processus (PID). Au lieu de cela, il est en cours d`exécution dans le processus explorer.exe appelant.

Par défaut procédé à une seule instance

Windows Explorer est écrit pour être capable de fonctionner comme deux processus distincts, mais - dans sa configuration par défaut - il ne fonctionnera une seule instance. Quand il est d`abord exécuté dans le cadre du processus de démarrage, il crée l`environnement de bureau Windows. il exécuter à nouveau crée un nouveau thread dans le processus existant, qui affiche la fenêtre de gestion de fichiers familier, au lieu de commencer un nouveau processus.

Ce comportement permet une empreinte mémoire réduite, mais peut aussi apporter son propre petit twist lors de la résolution 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 en processus fournis par les DLL, provoquera l`ensemble de l`environnement de bureau pour aller vers le bas avec elle.

Dans la plupart des cas, le processus de bureau sera automatiquement redémarré. Si elle ne redémarre pas, vous devriez toujours être en mesure d`utiliser Ctrl-Shift-Esc pour afficher le Gestionnaire des tâches. De là, allez à Fichier gt; Nouvelle tâche (Exécuter ...) gt; type explorer.exe gt; D`accord pour relancer le processus.

Cela peut être évité avec un simple changement. Ouvrir Windows Explorer gt; Organiser gt; Options des dossiers et de recherche dans Vista / 7. Pour Windows 8 et plus tard, ouvert Explorateur de fichiers gt; Vue gt; options gt; Changer de dossier et les options de recherche. Sélectionnez le Voir onglet et vérifie Lancer les fenêtres de dossiers dans un processus séparé.

options de dossier

La modification de ce paramètre isole votre processus de bureau de toutes les autres fenêtres Explorateur Windows que vous avez ouvert. Si l`un de ces accidents de Windows Explorer, votre bureau restera indemne.

Microsoft Visual C ++ Runtime Library (CRT)

Microsoft Visual C ++ Runtime Library fournit des routines pour la programmation Windows qui automatisent de nombreuses tâches, comme entrée / sortie, manipulation de fichiers, allocation de mémoire, appels système, et bien d`autres.

Chaque installation de Windows aura au moins deux versions différentes du CRT installé. Un SP2 Vista fraîchement construit par machine Windows 10 aura à la fois la version 8.0 et 9.0 (VC 2005 et VC 2008, respectivement) présente. Lorsque le logiciel supplémentaire est installé, il peut également inclure des versions plus récentes des runtimes, selon la version de Visual C ++ a été utilisé 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, il sera traité le plus tôt possible dans la procédure en cours d`exécution, et être soit corrigée ou permettre un échec gracieux. Si l`erreur est pas gérée localement, il est transmis à code qui a appelé le code en cours d`exécution, et le processus se poursuit jusqu`à ce que l`exception est gérée. Si elle termine sa course au sommet de la chaîne et il est toujours pas traité, il va générer une erreur d`exécution comme on le voit ci-dessus.

Lorsque l`utilisateur clique sur le bouton OK, le processus sera terminé. Si le programme a un comportement d`échec défini, comme les services critiques, ou son état de fonctionner est contrôlé par un autre processus, il peut être automatiquement repop. C`est ce qui se passe dans ce cas. L`écran devient noir lorsque le processus explorer.exe est terminé, le bureau revient lorsque le processus explorer.exe est redémarré.

Bien que le message d`erreur ci-dessus indique clairement provenait du processus explorer.exe, il est peu probable d`être un problème avec explorer.exe lui-même. Il est le coupable beaucoup plus probable est ailleurs, comme une extension tierce qui est utilisé par l`explorateur.

Video: Visual C++ Scientific Calculator Tutorial

autres considérations

Avec notre description du lecteur de la question ci-dessus, il y a quelques éléments supplémentaires que nous devons prendre en compte:

  • Au moment de l`accident, l`explorateur a essayé, mais incapable, pour alimenter le listview.
  • L`incapacité d`accéder à des lecteurs après le bureau a repop, peut indiquer un autre processus a un ou plusieurs de ces dispositifs verrouillés, empêchant ainsi l`accès du processus explorer.exe nouvellement créé.
  • Fonctionnement sfc / scannow et d`obtenir une des ressources de bonne santé, gouttes Windows protégés au bas de la liste pour examen. D`autres causes sont beaucoup plus susceptibles.

Les corrections sont en

Dans ce cas particulier, il y a trois domaines dans lesquels je chercherais une solution. Le premier concerne le service de recherche de Windows, la seconde consiste à enquêter sur les extensions shell, et le dernier serait le VC ++ se Transmissibles.

windows Search

Parce que la capture d`écran d`origine montre l`accident se produit lorsque l`explorateur tente de remplir le listview, il est possible que le service de recherche de Windows bloque l`accès aux ressources nécessaires. Je l`ai vu se produire lorsque les accidents de service et ne pas les paramètres de redémarrage correct.

presse Win + R gt; type services.msc gt; D`accord pour démarrer la console de gestion avec le module de services. Faites défiler jusqu`à Windows Search et double-cliquez sur l`entrée pour ouvrir la boîte de dialogue Propriétés. Vérifiez que les paramètres de l`onglet de récupération correspondant à l`image ci-dessous.

fenêtres-recherche-propriétés

Le problème le plus courant est le « service après redémarrage: » réglage. Cette erreur se produit souvent lorsque ce paramètre est non nul.

Shell Extensions Problématiques

Télécharger ShellExView pour l`architecture de votre système de Nirsoft (x86 ou x64), installer et exécuter. Il faudra un peu de temps pour examiner le système et remplir le tableau de données. Faites défiler jusqu`à la colonne de temps modifié CLSID et cliquez sur l`en-tête pour trier sur ce champ. Si vous souhaitez exclure les modules fournis par Microsoft, vous pouvez aller à options gt; 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 options gt; Afficher 32 bits Shell Extensions.

Recherchez les extensions qui ont été ajoutés juste avant que les symptômes ont commencé. Sélectionnez un ou plusieurs et appuyez sur F7 ou aller à Fichier gt; Désactiver les éléments sélectionnés, ou cliquez sur l`icône de LED rouge dans la barre d`outils. Idéalement, cela devrait être fait un à la fois.

Test pour voir si les symptômes persistent. Si oui, vous pouvez réactiver l`extension précédemment désactivée (s) en utilisant F8, Fichier gt; Activer les objets sélectionnés, ou l`icône LED verte barre d`outils. A partir de là, désactiver une extension différente et répétez le processus d`essai jusqu`à ce que vous trouviez celui qui cause le problème.

Réparer / Réinstaller VC ++ redistribuables

Je l`utilise celui-ci comme un dernier recours, si un seul programme déportant les erreurs. Si vous avez plusieurs programmes qui ont des problèmes avec les erreurs d`exécution de VC, vous pouvez essayer cette première.

Lorsque l`on regarde les programmes installés sur mon système (Panneau de contrôle gt; Programmes et fonctionnalités), Il montre 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`ont pas tous ces aspects.

installé-vCPP-Redist

Vous pouvez trouver les derniers téléchargements pour les versions de Visual C ++ de Microsoft. Pour nos besoins ici, vous avez seulement besoin de se préoccuper de ceux qui sont étiquetés comme « packages redistribuables ». Les liens qui sont classés comme service packs sont les outils de programmation, pas seulement les runtimes. Vous aurez seulement besoin ceux qui sont actuellement répertoriés dans les programmes installés sur votre système. Installation d`autres versions ne seront pas aider dans ce cas. Les utilisateurs des systèmes d`exploitation 64 bits peuvent avoir besoin à la fois les versions x86 et x64 du CRT.

Windows Update vérifie pour voir si votre ordinateur dispose des dernières mises à jour pour ces paquets installés, mais il ne vérifie pas qu`il est correctement installé et n`a pas été rompu. Les installateurs peuvent vérifier que tous les fichiers d`exécution sont ceux appropriés et toutes les entrées de registre sont correctes.

Une fois que vous avez téléchargé les programmes d`installation appropriés, les exécuter sur le système. Les versions 2005 vous invite à accepter un contrat de licence avant de réinstaller le package. Tous les autres ont une interface graphique qui vous demandera si vous voulez réparer ou désinstaller l`installation existante. Dans la plupart des cas, une opération de réparation va résoudre 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 remettre en place. Je ne recommande pas cette méthode avec 2005 et 2008 runtimes. Sans eux, Windows va générer beaucoup d`erreurs et beaucoup de fonctionnalité ne sera pas là pour vous lorsque vous redémarrez.

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 runtimes sur le système, les problèmes logiciels peuvent être trouvés et résolu sans avoir recours à des outils de débogage complexes et les journaux.

Video: Мicrosoft Visual C + + где скачать и как установить

Avez-vous rencontrez des erreurs d`exécution sur votre système? Ce qui était nécessaire pour les résoudre? Faites-moi savoir dans les commentaires ci-dessous.

Articles connexes