2009-12-23 3 views
1

Je développe une application de traitement d'image en convertissant l'image en bitmap. Je manipule des bits en bitmap pour obtenir l'effet désiré. première fois que je traiter une image qu'il donne le bon résultat au deuxième essai, il permet EXC_BAD_ACCESSUn problème étrange avec UInt8 dans l'iPhone (EXC_BAD_ACCESS)

débogueur montre:

dataref outofscope 

Mon code est

CGImageRef img=previewImageView.image.CGImage; 
NSLog(@" Image : %@ ", previewImageView); 
CFDataRef dataref=CopyImagePixels(img); 
CFDataRef dataref1=CopyImagePixels(img); 
//UInt8 *data=(UInt8 *)CFDataGetBytePtr(dataref); 
//UInt8 *original=(UInt8 *)CFDataGetBytePtr(dataref1); 

UInt8 *data=nil; 
data=(UInt8 *)CFDataGetBytePtr(dataref); 
UInt8 *original=nil; 
original=(UInt8 *)CFDataGetBytePtr(dataref1); 
//original=data; 
int length=CFDataGetLength(dataref); 

S'il vous plaît aider ... ......

+0

Salut, bienvenue à stackoverflow! La prochaine fois jetez un oeil à votre aperçu de la publication avant de poster pour voir à quoi cela ressemblera;) –

+0

Ou vous pourriez attendre une âme gentille pour le réparer pour vous :-) – paxdiablo

+0

Sur quelle ligne le débogueur échoue-t-il? Parcourez le code ligne par ligne jusqu'à ce qu'il échoue. Nous devons connaître la ligne avant de pouvoir pleinement aider. – TechZen

Répondre

1

Une cause majeure de EXEC_BAD_ACCESS est de tenter d'accéder aux objets de version.

Pour savoir comment résoudre ce, lisez ce document: DebuggingAutoReleasePool

Même si vous ne pensez pas que vous « larguer des objets libérés automatiquement », cela vous concerner.

Cette méthode fonctionne extrêmement bien. En résumé, cela explique comment utiliser la classe de débogage NSZombie de Cocoa et l'outil de ligne de commande "malloc_history" pour trouver exactement quel objet libéré a été accédé dans votre code.

Il est utile de définir un point d'arrêt sur objc_exception_throw. De cette façon le débogueur devrait casser quand vous obtenez le EXC_BAD_ACCESS.

Les instructions se trouvent ici http://www.cocoadev.com/index.pl?DebuggingTechniques