web-dev-qa-db-fra.com

Pourquoi les applications "doivent-elles fermer" ou "arrêter de travailler" et que puis-je faire à ce sujet?

Bien que j'utilise une application, le message d'erreur suivant apparaît (en fonction de la version de Windows):

Windows XP

[Nom de l'application] a rencontré un problème et doit fermer. Nous sommes désolés du dérangement.

Windows Vista, Windows 7, Windows 8

[nom de la demande] a cessé de fonctionner

Ensuite, l'application se ferme. Pourquoi les applications "doivent-elles fermer" ou "arrêter de travailler" et que puis-je faire à ce sujet?

6
manchester050 .

Tout d'abord, cette erreur n'est pas votre faute.

Certains programmeurs ont oublié de gérer une erreur dans son programme, de sorte qu'il échoue.

Bien sûr, le problème ne n'a pas doit être dans l'application elle-même (afin que le programmeur soit éteint). Il pourrait être sous Windows ou peut-être dans l'exécution MSVC, ou le fichier d'exécution .NET ou vos pilotes de carte vidéo ou quoi que ce soit (c'est pourquoi vous avez toujours dit d'installer toutes les mises à jour avant de contacter le support).

Donc, vous avez tout ce qui était couvert, mais le problème persiste. Et maintenant?

Eh bien, maintenant, la seule chose qui reste, c'est que l'application en question est défectueuse et que le programmeur n'est pas éteint le crochet pour celui-ci ( A-ha! ) . C'est donc le problème de l'auteur du logiciel. Alors contactez-leur et demandez-leur s'ils pouvaient vous aider et résoudre ce problème.

Mais si elles me disent que leur logiciel est parfait, je suis le seul avec ce problème et en général, c'est de ma faute?

Vient maintenant la partie amusante. Vous obtenez pour trouver le réelle Cause de votre message d'erreur.
[.____] Qu'est-ce que l'application a dit réellement au système d'exploitation qui a rendu le système d'exploitation Go " Vous devez vous fermer le bas !"?

Pour ce faire, vous avez de nombreux outils à votre disposition.

  • Fichiers journaux
  • Le journal des événements Windows
  • Moniteur de processus

Si l'application en question écrit tous les fichiers journaux, ceux-ci peuvent être or à la recherche de la cause de votre problème d'application. Lisez-les et discutez des messages d'erreur possibles ici.

Le journal des événements Windows contiendra sûrement des informations sur l'application écrasée. S'il s'agit en réalité d'une application .NET, vous pouvez même avoir de la chance et pourra peut-être tirer une pile d'appels du journal (ce qui serait très utile pour les développeurs).

Si tout le reste échoue, tournez à moniteur de processus . Le moniteur de processus est un outil qui se connecte Tout communication entre une application et le système d'exploitation (pour ainsi dire). Donc, dans les données capturées en résultant, vous pouvez voir exactement quelle fonction l'application appelée qui a entraîné une condition d'erreur non heurtée. Cela pourrait être quelque chose de trivial comme essayer d'accéder à un fichier ou objet de registre inexistant. Mais trouver qu'un appel sur le journal peut prendre des âges et si vous n'avez aucune expérience de développement de logiciels, vous n'allez probablement pas très loin avec cette approche.

Si cela vous fait partir " Eh bien, c'est peu probable de m'aider à résoudre mon problème.", alors vous avez probablement raison. Bien que cela puisse être amusant d'essayer de suivre un problème comme celui-ci pour certaines personnes, c'est généralement le travail de la personne qui a écrit le logiciel de défaillance.

Ils sont bien mieux équipés pour trouver le problème que vous. Un rapport de bogue approprié peut parcourir un long chemin parfois.

5
Der Hochstapler

Désinstallé la version précédente de .NET Framework et installé 4.0

Jamais cela, vous êtes non censé désinstaller les frameworks .NET. L'idée de ces versions est que lorsque Microsoft s'améliore et apporte des modifications à la framework .NET, ils peuvent (et souvent) rompre la compatibilité des programmes développés sur les versions .NET précédentes.

Pour éviter ce problème, une nouvelle version de .NET est libérée et peut être installée côte à côte les autres. Les fenêtres les gèrent correctement et chargeront ensuite n'importe quelle version qu'un programme est demandé. Cela vous permet d'exécuter des programmes anciens et nouveaux sans problèmes.

Je répète, quand une application est conçue pour .NET 3.5, On ne peut pas s'attendre à ce qu'on ne puisse pas s'attendre à fonctionner de manière fiable sur une autre version .NET .

Étant donné que l'un de votre commentaire mentionne que votre "logiciel personnalisé a toujours fonctionné avant de désinstaller la version précédente de .NET", je vais aller de l'avant et vous suggère de les réinstaller. Le moyen le plus simple de le faire est de réinstaller l'application - ils incluent généralement le programme d'installation .NET approprié dont ils ont besoin.

4
mtone

En réponse à votre dernier commentaire à ma réponse, je pense que la plupart seraient d'accord, il n'ya pas assez d'informations pour vous fournir une solution précise pour vous.

La réinstallation de .NET était une supposition éduquée, mais nous ne pouvons pas savoir quels autres fichiers/registre entrent vos utilitaires de nettoyage supprimés et lequel pourrait avoir été critique.

Ma première réponse est: Si la réinstallation de l'application ne vous aide pas, contactez votre fournisseur/développeur pour le comprendre. Le fournisseur sait quels fichiers sont attendus lors du lancement de leur application, nous ne le faisons pas!

Ensuite, j'ai remarqué votre profil que vous avez posté une question sur Stackoverflow où vous indiquez que votre lecteur C "n'a guère de KB" - qui a probablement initié votre nettoyage. Eh bien, vous savez, ce serait la première chose que j'essayerais de réparer si j'étais vous. Vous devez vous assurer de toujours avoir au moins 1 Go gratuit.

Un espace libre MB demande des problèmes et pourrait certainement causer des erreurs "besoin de fermer" si l'espace tente d'être attribué par Windows ou vos applications. En outre, cela aiderait à éviter le besoin de nettoyages extrêmes et de supprimer par inadvertance des fichiers importants.

Ainsi, ma deuxième réponse est: Obtenez une nouvelle (ou utilisez un autre) plus grand disque dur principal dès que possible. Si vos applications se bloquent toujours, vous devrez peut-être réinstaller Windows et toutes les applications/pilotes. C'est beaucoup de travail, mais c'est finalement une excellente solution à votre problème (lire: cela va presque certainement le réparer).

Enfin, les utilitaires de nettoyage ne sont pas des services publics officiels. Il est vrai que les fenêtres ont tendance à accumuler des trucs, mais que les utilitaires de nettoyage font un bon travail pour le déshabiller sont discutables. La plupart de la croissance de Windows proviennent de bibliothèques (DLL) et de mises à jour et de diverses applications installées, que les services publics ne devraient pas tenter de gâcher trop de toute façon. Les dossiers temporaires sont faciles à nettoyer à la main de temps en temps. Souvent, le meilleur nettoyage que vous puissiez faire est de désinstaller les applications que vous n'exigez pas absolument. Vous savez, je trouve que la plupart des outils de nettoyage ajoutent plus de gonflement que tout ce qu'ils nettoient. Cette énorme liste d'anti-malware que vous avez installée semble également excédité pour le travail à portée de main.

alors ma troisième réponse est: Allez facile à nettoyer à l'avenir. L'espace disque est suffisamment bon marché pour que vous puissiez éviter tout problème pour économiser quelques mégaoctets.

Favorez la désinstallation des applications non utilisées et supprimez de temps à autre des dossiers "Temp" de temps à autre. Autant que possible, évitez d'installer de nombreuses applications pour les essayer - car cela contribue à la croissance des fenêtres inutiles qui est difficile à revenir. Idéalement, tenez-vous à un bon anti-virus, un bon anti-logiciel malveillant et tout ce que vous devez travailler. Évitez de jouer avec le registre!

3
mtone

Tout d'abord, l'erreur (Some program application) has encountered a problem and needs to close. We are sorry for the inconvenience. est un message d'erreur Windows complètement générique. Si c'est assez facile pour dire '(un programme) a cessé de fonctionner parce que le développeur n'a pas pris en compte l'erreur ID10-T sur la pile de mémoire ', alors l'erreur générique ne serait vraiment pas nécessaire!

Hélas, les développeurs et les ingénieurs logiciels ne peuvent pas rendre compte de chaque chose qui pourrait entraîner une collision de manière inattendue de manière inattendue. Oui, certains programmes ont des "excellentes" méthodes de traitement des erreurs qui jettent un nombre aléatoire qui signifie "quelque chose", mais pour même l'obtenir, cela signifie que le développeur a comptabilisé cette erreur spécifique.

Certaines raisons pour lesquelles le message générique peut être donné sont à cause des choses comme:

  • Mémoire générale ou erreurs d'accès aux ressources ( défaut de segmentation )
  • Paramètres anti-virus incorrects (interdire l'accès au programme)
  • Erreurs de mode de compatibilité (essayez d'exécuter l'application en un 'mode de compatibilité pour une autre version Windows)
  • Pratiques de codage médiocres par développeur ou insuffisance de bugs/test
  • Les appels d'API d'amorités Windows utilisés par application
  • Dépendances (autres cadres, DLL, ressources partagées) Pas à jour ou disponible
  • etc

Il n'y a vraiment aucun moyen d'énumérer les nombreuses possibilités de la raison pour laquelle l'erreur se produira. Votre meilleur pari pour "corriger" le problème est de vérifier avec le développeur de logiciels et de veiller à ce que vos bibliothèques/ressources système soient entièrement à jour et compatibles avec les exigences spécifiées par les fournisseurs d'applications.

1
PenguinCoder

Essayez d'utiliser un programme comme - Soluto qui détecte des accidents et offre des conseils sur la manière de résoudre le problème s'il est disponible. Soluto utilise la recherche de foule pour détecter des accidents et offrir des correctifs.

0
bbodenmiller

Généralement, cela signifie que le programme a rencontré une exception (il s'agit d'une erreur qui fera l'accident de programme). Quelles sont les causes de cette erreur dépendant de l'application, il est donc difficile pour nous de dire ce qui ne va pas exactement.

Les solutions générales réinstallent le programme ou suppriment ses fichiers temporaires (vous ne nettoyez pas les utilitaires pour ne pas les attraper). Il rencontre peut-être une exception liée au contrôle de compte d'utilisateur, essayez donc d'exécuter le programme en tant qu'administrateur (clic droit, exécuté en tant qu'administrateur). Dans certains programmes, il est également causé par DEP (protection de l'exécution des données, un système de sécurité). Ceci page explique comment le désactiver pour votre programme.

Il y a également la possibilité que ce programme essaie d'écrire un fichier dans un endroit qu'il n'a pas accès à. Essayez de donner au programme que vous exécutez des autorisations d'écriture (clic droit, propriétés, sécurité)

Assurez-vous également que vous avez installé les dernières mises à jour pour Windows et ce programme spécifique.

0
Simon Verbeke