iPhone: what does this Crash Log mean?
My app crashes - unfortunately, it's not reproducable - this is a crash log I got, but I cannot read anything that would help me. Perhaps someone of you? Would be reeeeeeeeally great...
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
here's the code for my "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;
}
You read the stack from the bottom to the top. Here's the key area:
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
It looks like 15 is UIKit trying to create cells for a UITableView. 13 and 14 are in your code, likely your tableView:cellForRowAtIndexPath:
method. 12 is a Foundation method dealing with strings.
I would take a look at your tableView:cellForRowAtIndexPath:
method and see what you could be doing wrong with string initialization or post your method for us to examine.
Not enough information. You're stuck. Better not strip the symbols next time :)
Anyway, the key lines are
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
From #15 we know the error is in the -tableView:cellForRowAtIndexPath:
method in one of your delegates, and from #12 we know the error is due to initializing a string. The only way -initWithString:
will throw is when the input argument is nil
. Check the custom function called from -tableView:cellForRowAtIndexPath:
and ensure the string is not nil
.
精彩评论