2010-07-02 8 views
0

Mon application tombe en panne - malheureusement, ce n'est pas reproductible - c'est un journal que j'ai reçu, mais je ne peux rien lire qui puisse m'aider. Peut-être quelqu'un d'entre vous? Serait reeeeeeeeally grande ...iPhone: que signifie Crash Log?

0 libSystem.B.dylib    0x00088c24 __kill + 8 
1 libSystem.B.dylib    0x00088c12 kill + 4 
2 libSystem.B.dylib    0x00088c06 raise + 10 
3 libSystem.B.dylib    0x0009f902 abort + 54 
4 libstdc++.6.dylib    0x00065a00 __gnu_cxx::__verbose_terminate_handler() + 588 
5 libobjc.A.dylib     0x00007f1c _objc_terminate + 160 
6 libstdc++.6.dylib    0x00063100 __cxxabiv1::__terminate(void (*)()) + 76 
7 libstdc++.6.dylib    0x00063178 std::terminate() + 16 
8 libstdc++.6.dylib    0x000632a0 __cxa_throw + 100 
9 libobjc.A.dylib     0x00006504 objc_exception_throw + 104 
10 CoreFoundation     0x000a01c0 +[NSException raise:format:arguments:] + 64 
11 CoreFoundation     0x000a01f4 +[NSException raise:format:] + 24 
12 Foundation      0x0002cbc6 -[NSPlaceholderMutableString initWithString:] + 78 
13 here_my_app      0x0002c35e 0x1000 + 176990 
14 here_my_app      0x00029a6c 0x1000 + 166508 
15 UIKit       0x000a9248 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 644 
16 UIKit       0x000a8eac -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:] + 44 
17 UIKit       0x0006f3b8 -[UITableView(_UITableViewPrivate) _updateVisibleCellsNow:] + 1100 
18 UIKit       0x0006ce40 -[UITableView layoutSubviews] + 200 
19 UIKit       0x00014ab0 -[UIView(CALayerDelegate) _layoutSublayersOfLayer:] + 32 
20 CoreFoundation     0x000285ba -[NSObject(NSObject) performSelector:withObject:] + 18 
21 QuartzCore      0x0000a61c -[CALayer layoutSublayers] + 176 
22 QuartzCore      0x0000a2a4 CALayerLayoutIfNeeded + 192 
23 QuartzCore      0x00009bb0 CA::Context::commit_transaction(CA::Transaction*) + 256 
24 QuartzCore      0x000097d8 CA::Transaction::commit() + 276 
25 QuartzCore      0x000119d8 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 80 
26 CoreFoundation     0x00074244 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 12 
27 CoreFoundation     0x00075d9e __CFRunLoopDoObservers + 494 
28 CoreFoundation     0x000772f6 __CFRunLoopRun + 934 
29 CoreFoundation     0x0001e0bc CFRunLoopRunSpecific + 220 
30 CoreFoundation     0x0001dfca CFRunLoopRunInMode + 54 
31 GraphicsServices    0x00003f88 GSEventRunModal + 188 
32 UIKit       0x00007b40 -[UIApplication _run] + 564 
33 UIKit       0x00005fb8 UIApplicationMain + 964 
34 here_my_app      0x00002f52 0x1000 + 8018 
35 here_my_app      0x00002efc 0x1000 + 7932 

est ici le code de mon "cellForRowAtIndexPath"

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"AbfahrtszeitResultTableCell"; 

    AbfahrtszeitResultTableCell *cell = (AbfahrtszeitResultTableCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"AbfahrtszeitResultTableCell" owner:nil options:nil]; 

     for (id currentObject in topLevelObjects) { 
      if ([currentObject isKindOfClass:[UITableViewCell class]]) { 
       cell = (AbfahrtszeitResultTableCell *) currentObject; 
       break; 
      } 
     } 

     // make cell not-selectable 
     cell.selectionStyle = UITableViewCellSelectionStyleNone; 

     // background color 
     BOOL day = [self isDayView]; 

     if (day) { 
      UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:ABFAHRTSZEIT_RESULT_TABLE_CELL_BACKGROUND_IMAGE_RED]]; 
      cell.backgroundView = imageView; 
      [imageView release]; 
     } else { 
      UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:ABFAHRTSZEIT_RESULT_TABLE_CELL_BACKGROUND_IMAGE_BLUE]]; 
      cell.backgroundView = imageView; 
      [imageView release]; 
     } 

     // text color 
     cell.textLabel.textColor = [UIColor whiteColor]; 
    } 

    // Set up the cell... 
    AbfahrtszeitResult *result = [abfahrten objectAtIndex:indexPath.row]; 
    cell.linienLabel.text = [TextUtil cleanUpString:result.linie]; 
    cell.zielLabel.text = [TextUtil cleanUpString:result.ziel]; 
    cell.zeitLabel.text = [TextUtil cleanUpString:result.zeit]; 

    return cell; 
} 

Répondre

1

Vous lisez la pile du bas vers le haut. Voici la zone clé:

12 Foundation      0x0002cbc6 -[NSPlaceholderMutableString initWithString:] + 78 
13 here_my_app      0x0002c35e 0x1000 + 176990 
14 here_my_app      0x00029a6c 0x1000 + 166508 
15 UIKit       0x000a9248 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 644 

Il ressemble est UIKit tente de créer des cellules pour une UITableView. et sont dans votre code, probablement votre tableView:cellForRowAtIndexPath: méthode. est une méthode Foundation traitant des chaînes.

Je voudrais jeter un oeil à votre méthode tableView:cellForRowAtIndexPath: et voir ce que vous pourriez faire mal avec l'initialisation de la chaîne ou postez votre méthode pour nous d'examiner.

+0

J'ai posté la méthode pour examiner ... Je cherche si longtemps pour les erreurs, je pense que je ne suis tout simplement pas capable de trouver la solution plus :) – swalkner

+1

Erreur est probablement survenue dans 'TextUtil cleanUpString:'. Exécutez un test pour voir ce qui se passe quand l'une de vos propriétés 'result' est' nil'. – chrissr

+0

c'est exactement le problème ... merci beaucoup ... maintenant je "seulement" de savoir quand le paramètre est nul. :) – swalkner

1

Informations insuffisantes. Tu es coincé. Une meilleure bande pas les symboles prochaine fois :)

Quoi qu'il en soit, les lignes principales sont

12 Foundation 0x0002cbc6 -[NSPlaceholderMutableString initWithString:] + 78 
13 here_my_app 0x0002c35e 0x1000 + 176990 
14 here_my_app 0x00029a6c 0x1000 + 166508 
15 UIKit   0x000a9248 -[UITableView(UITableViewInternal) _createPreparedCellForGlobalRow:withIndexPath:] + 644 

De # 15 nous savons l'erreur est dans la méthode -tableView:cellForRowAtIndexPath: dans l'un de vos délégués et de # 12, nous savons l'erreur est due à l'initialisation d'une chaîne. La seule façon que -initWithString: lancera est lorsque l'argument d'entrée est nil. Vérifiez la fonction personnalisée appelée de -tableView:cellForRowAtIndexPath: et assurez-vous que la chaîne n'est pas nil.

+0

merci beaucoup pour votre réponse ... Je n'ai pas dépouillé les symboles ... Je viens de remplacer mon vrai nom d'application avec "here_my_app" ... comment pourrais-je maintenant quelle fonction personnalisée dans cellForRowAtIndexPath: est destiné? – swalkner

+2

@swalkner: Comment pourrais-je savoir? Peut-être que vous pourriez "Trouver dans le projet" (Cmd + Maj + F) pour '-initWithString:'. Je suppose que c'est '+ [TextUtil cleanUpString:]'. – kennytm

+0

yeeeeees ... la solution est proche :) maintenant j'ai juste besoin de savoir quand le paramètre est nul ... ce n'est tout simplement pas reproductible ... pourrait-il être en connexion avec une mémoire insuffisante? – swalkner