web-dev-qa-db-fra.com

Erreur d'exception c0000005 dans VC ++

Je travaille sur l'application console VC++.

Cette application envoie un fichier depuis le dossier Appdata\Roaming pendant un certain temps.

Ce qui se passe, c'est que j'obtiens cette erreur de plantage:

Problem signature:
Problem Event Name: APPCRASH
Application Name:   App.exe
Application Version:    1.0.0.2
Application Timestamp:  51c02fa8
Fault Module Name:  PCMeter.exe
Fault Module Version:   1.0.0.2
Fault Module Timestamp: 51c02fa8
Exception Code: c0000005
Exception Offset:   000069eb
OS Version: 6.1.7601.2.1.0.256.48
Locale ID:  1033
Additional Information 1:   0a9e
Additional Information 2:   0a9e372d3b4ad19135b953a78882e789
Additional Information 3:   0a9e
Additional Information 4:   0a9e372d3b4ad19135b953a78882e789

Quelqu'un pourrait-il m'aider à résoudre ce problème

12
user1465461

Code d'exception c0000005 est le code d'une violation d'accès. Cela signifie que votre programme accède (en lecture ou en écriture) à une adresse mémoire sur laquelle il n'a pas de droits. Le plus souvent, cela est dû à:

  • Accéder à un pointeur périmé. C'est accéder à la mémoire qui a déjà été désallouée. Notez que ces accès pointeurs périmés n'entraînent pas toujours des violations d'accès. Ce n'est que si le gestionnaire de mémoire a rendu la mémoire au système que vous obtenez une violation d'accès.
  • Lecture de la fin d'un tableau. C'est quand vous avez un tableau de longueur N et que vous accédez aux éléments avec l'index >=N.

Pour résoudre le problème, vous devrez effectuer un débogage. Si vous n'êtes pas en mesure d'obtenir l'erreur sur votre débogueur sur votre machine de développement, vous devriez obtenir un fichier de vidage sur incident et le charger dans votre débogueur. Cela vous permettra de voir où dans le code le problème s'est produit et, espérons-le, vous mènera à la solution. Vous aurez besoin d'avoir les symboles de débogage associés à l'exécutable afin de voir des traces de pile significatives.

34
David Heffernan