web-dev-qa-db-fra.com

Erreur iOS: corruption de tas détectée, la liste libre est endommagée et valeur de garde incorrecte: 0

GFF_MJ(3248,0x103f9ab80) malloc: Heap corruption detected, free list is damaged at 0x28298ffa0
*** Incorrect guard value: 0
GFF_MJ(3248,0x103f9ab80) malloc: *** set a breakpoint in malloc_error_break to debug

Capture d'écran d'erreur:

enter image description here

Après avoir fonctionné pendant un certain temps, l'application se bloque toujours, mais je n'obtiendrai aucune information à l'exception des conseils ci-dessus. Maintenant, je ne sais pas comment le résoudre, qui peut m'aider?

Merci.

8
GUOHUA

Ces bugs ne sont pas amusants. Très probablement, vous avez un débordement de tampon quelque part ou vous utilisez un morceau de mémoire après qu'il a été libéré et piétine quelque chose d'autre.

Étant donné que vous pouvez le faire planter dans le débogueur, cela le rend beaucoup plus facile à retrouver.

Commencez par définir un point d'arrêt sur malloc_error_break, comme le message d'erreur vous le demande. Lorsque vous atteindrez ce point d'arrêt, cela fournira plus d'un indice, mais peut encore être assez vague. Cependant, vous pourrez poster plus d'indices et nous pouvons vous aider à partir de là.

6
bbum

Dans mon cas, c'était un problème avec le simulateur (avec sa mémoire).

Essayez de le compiler dans un appareil réel après avoir nettoyé le dossier de construction ou fermez le simulateur et exécutez à nouveau.

0
akiliano