帮助解释堆栈跟踪
Posted
技术标签:
【中文标题】帮助解释堆栈跟踪【英文标题】:Help interpreting stack trace 【发布时间】:2011-09-15 16:19:48 【问题描述】:Thread 12 Crashed:
0 libsystem_kernel.dylib 0x3076da1c __pthread_kill + 8
1 libsystem_c.dylib 0x35c8a3b4 pthread_kill + 52
2 libsystem_c.dylib 0x35c82bf8 abort + 72
3 libstdc++.6.dylib 0x33f61a64 __gnu_cxx::__verbose_terminate_handler() + 376
4 libobjc.A.dylib 0x360f506c _objc_terminate + 104
5 libstdc++.6.dylib 0x33f5fe36 __cxxabiv1::__terminate(void (*)()) + 46
6 libstdc++.6.dylib 0x33f5fe8a std::terminate() + 10
7 libstdc++.6.dylib 0x33f5ff5a __cxa_throw + 78
8 libobjc.A.dylib 0x360f3c84 objc_exception_throw + 64
9 Foundation 0x31af8dea _NSOutOfMemoryErrorHandler + 38
10 CoreFoundation 0x31e91496 __CFStringHandleOutOfMemory + 22
11 CoreFoundation 0x31e951ea __CFStringChangeSizeMultiple + 506
12 CoreFoundation 0x31e982c0 __CFStringCheckAndReplace + 148
13 Foundation 0x31a81228 -[NSCFString appendString:] + 28
14 MyApp 0x00016a86 -[XMLParser parser:foundCharacters:] (XMLParser.m:109)
在设备上使用 SIGABRT 崩溃。
XMLParser 代码 sn-p :
- (void)parser:(XMLParser *)parser foundCharacters:(NSString *)string
if(!currentString)
currentString = [[NSMutableString alloc] init];
[currentString appendString:string]; // Line 109 that crashed
为什么它会在附加 nil 字符串的情况下崩溃?或访问受保护的内存
【问题讨论】:
好吧,它说的是“_NSOutOfMemoryErrorHandler”。 'string' 变量有多少符号? 【参考方案1】:_NSOutOfMemoryErrorHandler
非常清楚 - 您的内存不足。使用 Instruments 和内存泄漏等检查对设备来说内存过于密集的部分。
【讨论】:
以上是关于帮助解释堆栈跟踪的主要内容,如果未能解决你的问题,请参考以下文章