2010-07-22 7 views
0

J'ai une application qui im ​​compiler dans Visual Studio 2010
Im obtenir cette erreur dans l'une de mes fonctions génériquement comment puis-je déboguer ce type d'exception?
la fonction est de dll, d'autres fonctions fonctionnent mais pas celle-ci.Exception non gérée à 0x6c70f2ca dans xxx.exe 0xC0000005: violation d'accès lecture emplacement 0xcdcdcdf1 comment déboguer cela?

+0

Vous n'avez produit nulle part assez de code. Il convient également de noter que cette exception est une exception structurée Windows, et non une exception C++. – Puppy

+0

Alors, que se passe-t-il lorsque vous exécutez votre application sous le débogueur? –

Répondre

1

L'erreur se produit très probablement lorsque vous tentez de déréférencer un pointeur non initialisé. Donc:

  1. Recompilez avec le niveau d'avertissement sur maximum (4). Passez en revue les avertissements. Vous trouverez la liste des variables locales déclarées sans l'initialisation (y compris les pointeurs).
  2. Vérifiez les paramètres que vous transmettez à la fonction (en particulier le pointeur/les paramètres de référence). Vérifiez leur initialisation. L'allocateur de mémoire de débogage remplit la mémoire nouvellement allouée avec 0xcdcdcdcd.
3

Il semblerait que vous ayez alloué de la mémoire, que vous ayez défini l'octet de poids faible sur 0xf1 (241) et que vous ayez essayé de déréférencer un pointeur de quatre octets à cet emplacement. Sans voir le code, c'est tout ce que je peux discerner.

+0

+1, d'accord. Lecture de mémoire segmentée non initialisée –

+1

Il ne 'met pas l'octet bas à 0xf1' il a un pointeur de structure qui n'est pas initialisé (donc 0xcdcdcdcd), et ensuite il accède au membre à 0x24 dans la structure. –

Questions connexes