如何解决 OS X 上 liblibextobjc 使用.A.dylib 造成的的内存泄露问题

应用crash日志分析(已经符号化) - 简书
应用crash日志分析(已经符号化)
#######问题
如果你需要一个url或者服务器传过来的parameter进行测试,但是这时候项目里暂时还没有这个url的宏定义或者服务器给的parameter是不完整(错误)的,但是还不得不用它测试自己开发的功能,这时候你会怎么办??
LLDB几个命令
(lldb) p 16
(lldb) p/x 16
二进制 (t代表two):
(lldb) p/t 16
(lldb) p/t (char)16
也可以使用p/c打印字符,或者p/s打印以空终止的字符串 (译者注:以 '\0' 结尾的字符串)
改变一个对象值,不仅会改变调试器中的值,实际上它
改变了程序中的值。expression的简写
在 C 语言中你可以用int a = 0来定义一个变量,在 LLDB 中也可以做同样的事情。不过为了能使用声明的变量,变量必须以美元符$开头。
(lldb) e int $a = 2
(lldb) p $a * 19
(lldb) e NSArray *$array = @[ @"Saturday", @"Sunday", @"Monday" ]
(lldb) p [$array count]
(lldb) po [[$array objectAtIndex:0] uppercaseString]
(lldb) p [[$array objectAtIndex:$a] characterAtIndex:0]
error: no known method '-characterAtIndex:'; cast the message send to the method's return typeerror: 1 errors parsing expression
LLDB 无法确定返回的类型,给个说明就好了:
(lldb) p (char)[[$array objectAtIndex:$a] characterAtIndex:0]
(lldb) p/d (char)[[$array objectAtIndex:$a] characterAtIndex:0]
crash日志分析
//1.闪退进程的相关信息
Incident Identifier: *********************
CrashReporter Key:
Hardware Model:
WYPatient [2066]
Identifier:
Code Type:
ARM (Native)
Parent Process:
launchd [1]
Incident Identifier 是崩溃报告的唯一标识符
CrashReporter Key是与设备标识相对应的唯一键值。
虽然它不是真正的设备标识符,但也是一个非常有用的情报:
如果你看到100个崩溃日志的CrashReporter Key值都是相同的,
或者只有少数几个不同的CrashReport值,
说明这不是一个普遍的问题,只发生在一个或少数几个设备上。
Hardware Model标识设备类型。 如果很多崩溃日志都是来自相同的设备类型,
说明应用只在某特定类型的设备上有问题。
Process是应用名称。中括号里面的数字是闪退时应用的进程ID。
//基本信息
Date/Time:
16:30:28.163 +0800
Launch Time:
15:20:48.301 +0800
OS Version:
iOS 8.1.1 (12B435)
Report Version:
//异常类型
/*在这部分,你可以看到闪退发生时抛出的异常类型。
还能看到异常编码和抛出异常的线程。
根据崩溃报告类型的不同,在这部分你还能看到一些另外的信息。*/
Exception Type:
Exception Codes: 0xbadf00d
Highlighted Thread:
Application Specific Information:
com.lvxian.guahao failed to exit in time
Elapsed total CPU time (seconds): 4.110 (user 4.110, system 0.000), 40% CPU
Elapsed application CPU time (seconds): 0.040, 0% CPU
//线程回溯
/*这部分提供应用中所有线程的回溯日志。
回溯是闪退发生时所有活动帧清单。它包含闪退发生时调用函数的清单*/
Thread 0 name:
Dispatch queue: com.apple.main-thread
二进制库名称
调用方法的地址
基本地址和偏移量
libsystem_kernel.dylib
0x300be19c __semwait_signal + 24
libsystem_pthread.dylib
0x pthread_join + 354
0xxcb000 + 8991070
0xxcb000 + 9014604
0x 0xcb000 + 8687844
0xxcb000 + 8838498
0xxcb000 + 8829312
0xxcb000 + 8627090
0x008fb208 0xcb000 + 8585736
0x008e3abc 0xcb000 + 8489660
0x00ebbf28 0xcb000 +
0x00ebbe02 0xcb000 +
0x00ebbf86 0xcb000 +
0x00eaf9de 0xcb000 +
0x00eb3a90 0xcb000 +
0x0093bfd4 0xcb000 + 8851412
Foundation
0x22efea40 __NSFireTimer + 60
CoreFoundation
0x221b0f04 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 12
CoreFoundation
0x221b0a84 __CFRunLoopDoTimer + 652
CoreFoundation
0x221aecee __CFRunLoopRun + 1414
CoreFoundation
0x220fbb2c CFRunLoopRunSpecific + 472
CoreFoundation
0x220fb93e CFRunLoopRunInMode + 102
GraphicsServices
0x294db04c GSEventRunModal + 132
0x256f16ec UIApplicationMain + 1436
0xxcb000 + 5957698
libdyld.dylib
0x2fff8aac start + 0
//线程状态
/*这部分是闪退时寄存器中的值。一般不需要这部分的信息,
因为回溯部分的信息已经足够让你找出问题所在
Thread 0 crashed with ARM Thread State (32-bit):
r5: 0x39d5d000
r6: 0x38fb7304
r8: 0x17e58ab0
r9: 0x225d88fc
r10: 0xe88effc1
r11: 0x17e58ad4
sp: 0x001634dc
lr: 0x22b59b47
pc: 0x22ab3c5c
//二进制映像
/*这部分列出了闪退时已经加载的二进制文件*/
Binary Images:
0x2c000 - 0x47fff Test1 armv7
&234afddbe98a3faeada9efd& /var/containers/Bundle/Application/74DA63F4-24A4-42C8-9B98-AC/Test1.app/Test1
0x1febb000 - 0x1fee2fff dyld armv7s
&fb3cc314bf8f3c12aabb2& /usr/lib/dyld
0x - 0x22571fff libSystem.B.dylib armv7s
&e8d2c07fe2e576cb4a9e& /usr/lib/libSystem.B.dylib
0x - 0x225bdfff libc++.1.dylib armv7s
&82abc45878c53dfd8e59d088ead88952& /usr/lib/libc++.1.dylib
0x225be000 - 0x225d8fff libc++abi.dylib armv7s
&de59bc4f5ac3e98abca4& /usr/lib/libc++abi.dylib
0x225dc000 - 0x22946fff libobjc.A.dylib armv7s
&dce97f66c0e67b& /usr/lib/libobjc.A.dylib
0x - 0x2294bfff libcache.dylib armv7s
&2b39436eaf1c3aa384dc88d909bb82ea& /usr/lib/system/libcache.dylib
0x - 0x22955fff libcommonCrypto.dylib armv7s
&39d4afd1f6cbee& /usr/lib/system/libcommonCrypto.dylib
怎么分析crash日志
在分析一份crash日志之前,开发人员要对常见的错误类型有所了解。crash日志的产生来源于两种情况:
****违反iOS系统规则
自身代码bug****
1. 违反IOS系统规则
违反iOS规则包括在启动、恢复、挂起、退出时watchdog超时、用户强制退出和低内存终止。下面我们详细了解一下。
(1) Watchdog 超时机制
如果我们的应用程序对一些特定的UI事件(比如启动、挂起、恢复、结束)响应不及时,Watchdog会把我们的应用程序干掉,并生成一份响应的crash报告。这些事件与下列UIApplicationDelegate方法相对应:
1. application:didFinishLaunchingWithOptions:
2. applicationWillResignActive:
3. applicationDidEnterBackground:
4. applicationWillEnterForeground:
5. applicationDidBecomeActive:
6. applicationWillTerminate:
上面所有这些回调,应用只有有限的时间去完成处理。如果花费时间太长,操作系统将终止应用。
****注意****:如果你没有把需要花费时间比较长的操作(如网络访问)放在后台线程上就很容易发生这种情况。关于如何避免这种情况,可以看下Grand Central Dispatch 和 NSOperations。。如果我们是在公司的Wifi环境下使用则一切顺利,但当应用程序发布出去面向很大范围的用户,在各种网络环境下运行,则不可避免地会出现一片Watchdog
超时报告。
(2) 低内存终止
在前台运行的应用拥有访问和使用内存的最高优化级。然而,这并不意味着该应用能使用设备的所有可用内存 ——每个应用只能使用一部分可用内存。
当内存使用达到一定程度时,操作系统将发出一个 UIApplicationDidReceiveMemoryWarningNotification通知。同时调用 didReceiveMemoryWarning方法。
此时,为了让应用继续正常运行,操作系统开始终止后台应用以释放一些内存,如果情况还没有改善,系统会将正在运行的应用也终止掉,并产生一个崩溃日志。所以,我们的应用应该合理地响应系统抛出来的低内存警告通知,对一些缓存数据和可重新创建的对象进行释放,同时要避免出现内存泄露等问题
(3) 用户强制退出
iOS 4.x开始支持多任务。如果应用阻塞界面并停止响应, 用户可以通过在主屏幕上双击Home按钮来终止应用。此时,改应用将生成一个崩溃日志。
常见错误类型和错误码
1、Exception Type
EXC_BAD_ACCES
此类型的Excpetion是我们最长碰到的Crash,通常用于访问了不改访问的内存导致。一般EXC_BAD_ACCESS后面的"( )"还会带有补充信息。
SIGSEGV: 通常由于重复释放对象导致,这种类型在切换了ARC以后应该
已经很少见到了。
SIGABRT: 收到Abort信号退出,通常Foundation库中的容器为了保护状态正常会做一些检测,例如插入nil到数组中等会遇到此类错误。
SEGV:(Segmentation Violation),代表无效内存地址,比如空指针,未初始化指针,栈溢出等;
SIGBUS:总线错误,与 SIGSEGV 不同的是,SIGSEGV 访问的是无效地址,而 SIGBUS 访问的是有效地址,但总线访问异常(如地址对齐问题)
SIGILL:尝试执行非法的指令,可能不被识别或者没有权限
EXC_BAD_INSTRUCTION
此类异常通常由于线程执行非法指令导致
EXC_ARITHMETIC
除零错误会抛出此类异常
2、Exception Code
异常编码以一些文字开头,紧接着是一个或多个十六进制值,此数值正是说明闪退根本性质的所在。 从这些编码中,可以区分出闪退是因为程序错误、非法内存访问或者是其他原因。
下面是一些常见的异常编码:
0x8badf00d: 读做 “ate bad food”! (把数字换成字母,是不是很像 :p)该编码表示应用是因为发生watchdog超时而被iOS终止的。 通常是应用花费太多时间而无法启动、终止或响应用系统事件。
0xbaaaaaad 此种类型的log意味着该Crash log并非一个真正的Crash,它仅仅只是包含了整个系统某一时刻的运行状态。通常可以通过同时按Home键和音量键,可能由于用户不小心触发
0xbad22222:该编码表示 VoIP 应用因为过于频繁重启而被终止。
0xdead10cc:读做 “dead lock”!该代码表明应用因为在后台运行时占用系统资源,如通讯录数据库不释放而被终止 。
0xc00010ff 程序执行大量耗费CPU和GPU的运算,导致设备过热,触发系统过热保护被系统终止
0xdeadfa11:读做 “dead fall”! 该代码表示应用是被用户强制退出的。根据苹果文档, 强制退出发生在用户长按开关按钮直到出现 “滑动来关机”, 然后长按 Home按钮。强制退出将产生 包含0xdeadfa11 异常编码的崩溃日志, 因为大多数是强制退出是因为应用阻塞了界面。
(注意:在后台任务列表中关闭已挂起的应用不会产生崩溃日志。 一旦应用被挂起,它何时被终止都是合理的。所以不会产生崩溃日志。)
2.代码中有Bug
比较常见的崩溃基本都源于代码bug,比如数组越界、插空、多线程安全性、访问野指针、发送未实现的selector等。
举个简单的例子:
假设你的app有一个添加关注的按钮,用户反应只要点击"添加关注"就会闪退。。。。。下面是闪退日志的一部分:
Incident Identifier: 2-407E-8C11-111F360D5F39
CrashReporter Key:
75f3a66d2bdeb626177dbc5999f3f
Hardware Model:
Test1 [7531]
/private/var/containers/Bundle/Application/74DA63F4-24A4-42C8-9B98-AC/Test1.app/Test1
Identifier:
com.guahao.Test1
Code Type:
ARM (Native)
Parent Process:
launchd [1]
Date/Time:
16:34:30.30 +0800
Launch Time:
16:34:26.26 +0800
OS Version:
iOS 9.3.2 (13F69)
Report Version:
Exception Type:
EXC_CRASH (SIGABRT)
Exception Codes: 0x0
Exception Note:
EXC_CORPSE_NOTIFY
Triggered by Thread:
Filtered syslog:
None found
Last Exception Backtrace:
CoreFoundation
0x22e25b06 __exceptionPreprocess + 122
libobjc.A.dylib
0x225e2dfa objc_exception_throw + 34
CoreFoundation
0x22e2b450 -[NSObject(NSObject) doesNotRecognizeSelector:] + 184
CoreFoundation
0x22e290a6 ___forwarding___ + 698
CoreFoundation
0x22d53294 _CF_forwarding_prep_0 + 20
0x2743b69c -[UIApplication sendAction:to:from:forEvent:] + 76
0x2743b62c -[UIControl sendAction:to:forEvent:] + 60
0x -[UIControl _sendActionsForEvents:withEvent:] + 462
0x2743af4c -[UIControl touchesEnded:withEvent:] + 612
0x273f4b92 _UIGestureRecognizerUpdate + 10930
CoreFoundation
0x22de72ac __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 16
CoreFoundation
0x22de55a2 __CFRunLoopDoObservers + 278
CoreFoundation
0x22de59e0 __CFRunLoopRun + 968
CoreFoundation
0x22d341c4 CFRunLoopRunSpecific + 512
CoreFoundation
0x22d33fb8 CFRunLoopRunInMode + 104
GraphicsServices
0x24350af4 GSEventRunModal + 156
0x UIApplicationMain + 140
0x0003cdfa 0x2c000 + 69114
libdyld.dylib
0x229e086e tlv_get_addr + 42
Thread 0 name:
Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
libsystem_kernel.dylib
0x22ab3c5c __pthread_kill + 8
libsystem_pthread.dylib
0x22b59b46 pthread_kill + 62
libsystem_c.dylib
0x22a480c4 abort + 108
libc++abi.dylib
0x225be7dc __cxa_bad_cast + 0
libc++abi.dylib
0x225d76a0 default_unexpected_handler() + 0
libobjc.A.dylib
0x225e3098 _objc_terminate() + 192
libc++abi.dylib
0x225d4e16 std::__terminate(void (*)()) + 78
libc++abi.dylib
0x225d48f6 __cxa_rethrow + 102
libobjc.A.dylib
0x225e2f46 objc_exception_rethrow + 42
CoreFoundation
0x22d3424e CFRunLoopRunSpecific + 650
CoreFoundation
0x22d33fbc CFRunLoopRunInMode + 108
GraphicsServices
0x24350af8 GSEventRunModal + 160
0x UIApplicationMain + 144
0x0003cdfe 0x2c000 + 69118
libdyld.dylib
0x229e0872 start + 2
Thread 1 name:
Dispatch queue: com.apple.libdispatch-manager
libsystem_kernel.dylib
0x22ab52f8 kevent_qos + 24
libdispatch.dylib
0x229c7836 _dispatch_mgr_invoke + 254
libdispatch.dylib
0x229b9916 _dispatch_mgr_thread + 38
libsystem_kernel.dylib
0x22ab4864 __workq_kernreturn + 8
libsystem_pthread.dylib
0x22b56e18 _pthread_wqthread + 1036
libsystem_pthread.dylib
0x22b569fc start_wqthread + 8
白发渔樵江渚上,惯看秋月春风Pages: 1/2
主题 : IOS8下运行崩溃
级别: 圣骑士
UID: 85365
可可豆: 792 CB
威望: 1320 点
在线时间: 1590(时)
发自: Web Page
来源于&&分类
IOS8下运行崩溃&&&
请教大家一个问题,我这边在IOS8下运行崩溃了,在didFinishLaunchingWithOptions 之前就已经崩溃了(偶尔不崩溃),崩溃在崩溃后打开APP又正常使用。现在是没法调试。崩溃到int main(int argc, char *argv[]) 这个方法里边了,打印最后一次堆栈信息如下(lldb) bt* thread #1: tid = 0x4f665, 0x30eae538 libc++abi.dylib`__cxa_throw, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2    frame #0: 0x30eae538 libc++abi.dylib`__cxa_throw    frame #1: 0x2a432520 libFontParser.dylib`TFileDescriptorContext::TFileDescriptorContext(char const*) + 112    frame #2: 0x2a43232c libFontParser.dylib`TFileDataReference::TFileDataReference(char const*) + 164    frame #3: 0x2a432150 libFontParser.dylib`TFileDataSurrogate::TFileDataSurrogate(char const*, bool) + 188    frame #4: 0x2a4304a6 libFontParser.dylib`TFont::CreateFontEntitiesForFile(char const*, bool, TSimpleArray&TFont*&&, bool, short, char const*) + 1402    frame #5: 0x2a42f9cc libFontParser.dylib`FPFontCreateFontsWithPath + 224    frame #6: 0x libCGXType.A.dylib`create_private_data_with_path + 12    frame #7: 0x2411dfb8 CoreGraphics`CGFontCreateFontsWithPath + 24    frame #8: 0x CoreGraphics`CGFontCreateFontsWithURL + 310    frame #9: 0x2b17ff4e GraphicsServices`AddFontsFromURLOrPath + 66    frame #10: 0x2b183a3a GraphicsServices`__Initialize_block_invoke + 934    frame #11: 0x00960ad6 libdispatch.dylib`_dispatch_client_callout + 22    frame #12: 0x libdispatch.dylib`dispatch_once_f + 100    frame #13: 0x2b17f7a2 GraphicsServices`Initialize + 194    frame #14: 0x libobjc.A.dylib`_class_initialize + 536    frame #15: 0x3157a05e libobjc.A.dylib`lookUpImpOrForward + 254    frame #16: 0x31579f56 libobjc.A.dylib`_class_lookupMethodAndLoadCache3 + 34    frame #17: 0x libobjc.A.dylib`_objc_msgSend_uncached + 24    frame #18: 0x273e83ee UIKit`-[UIStatusBarNewUIForegroundStyleAttributes makeTextFontForStyle:] + 78    frame #19: 0x273a95ec UIKit`-[UIStatusBarForegroundStyleAttributes textFontForStyle:] + 104    frame #20: 0x2735bfb4 UIKit`-[UIStatusBarServiceItemView updateForContentType:serviceString:serviceCrossfadeString:maxWidth:actions:] + 384    frame #21: 0x2735be2a UIKit`-[UIStatusBarServiceItemView updateForNewData:actions:] + 186    frame #22: 0x273b719c UIKit`-[UIStatusBarItemView initWithItem:data:actions:style:] + 324    frame #23: 0x273b6e34 UIKit`-[UIStatusBarLayoutManager _createViewForItem:withData:actions:] + 108    frame #24: 0x2735b8bc UIKit`-[UIStatusBarLayoutManager _prepareEnabledItemType:withEnabledItems:withData:actions:itemAppearing:itemDisappearing:] + 264    frame #25: 0x2735b76c UIKit`-[UIStatusBarLayoutManager prepareEnabledItems:withData:actions:] + 76    frame #26: 0x UIKit`-[UIStatusBarForegroundView _setStatusBarData:actions:animated:] + 162    frame #27: 0x UIKit`-[UIStatusBarForegroundView setStatusBarData:actions:animated:] + 720    frame #28: 0x273e673a UIKit`__44-[UIStatusBar _prepareToSetStyle:animation:]_block_invoke + 358    frame #29: 0x27370af4 UIKit`+[UIView(Animation) performWithoutAnimation:] + 72    frame #30: 0x273e4568 UIKit`-[UIStatusBar _prepareToSetStyle:animation:] + 688    frame #31: 0x273cc2e6 UIKit`-[UIStatusBar _requestStyleAttributes:animationParameters:] + 290    frame #32: 0x273dfc42 UIKit`-[UIApplication _setStatusBarStyle:animationParameters:] + 158    frame #33: 0x UIKit`-[UIApplication _updateCurrentStatusBarViewControllerAppearance] + 136    frame #34: 0x275ea198 UIKit`-[UIWindow _initWithFrame:debugName:scene:attached:] + 284    frame #35: 0x275ea076 UIKit`-[UIWindow _initWithFrame:debugName:attached:] + 54    frame #36: 0x275ea002 UIKit`-[UIWindow _initWithFrame:attached:] + 46    frame #37: 0x UIKit`-[UIWindow initWithFrame:] + 38    frame #38: 0x273cabbc UIKit`-[UIStatusBarWindow initWithFrame:] + 104    frame #39: 0x UIKit`-[UIView init] + 44    frame #40: 0x275ea4a6 UIKit`-[UIWindow _initWithOrientation:] + 54    frame #41: 0x273c9e62 UIKit`-[UIApplication _createStatusBarWithRequestedStyle:orientation:hidden:] + 290    frame #42: 0x275c5b38 UIKit`-[UIApplication _runWithMainScene:transitionContext:completion:] + 972    frame #43: 0x275d0548 UIKit`__84-[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:]_block_invoke + 36    frame #44: 0x275c4556 UIKit`-[UIApplication workspaceDidEndTransaction:] + 130    frame #45: 0x2a6070e8 FrontBoardServices`__31-[FBSSerialQueue performAsync:]_block_invoke + 12    frame #46: 0x23e8c5b4 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12    frame #47: 0x23e8b878 CoreFoundation`__CFRunLoopDoBlocks + 216    frame #48: 0x23e89ffa CoreFoundation`__CFRunLoopRun + 762    frame #49: 0x23dd8620 CoreFoundation`CFRunLoopRunSpecific + 476    frame #50: 0x23dd8432 CoreFoundation`CFRunLoopRunInMode + 106    frame #51: 0x273c856e UIKit`-[UIApplication _run] + 558    frame #52: 0x273c3358 UIKit`UIApplicationMain + 1440  * frame #53: 0x iBoxPay`main(argc=1, argv=0x00941af4) + 100 at main.m:13
级别: 新手上路
可可豆: 30 CB
威望: 29 点
在线时间: 235(时)
发自: Web Page
朋友,找出问题来了,遇到同样头疼的事,求指点
级别: 新手上路
可可豆: 30 CB
威望: 29 点
在线时间: 235(时)
发自: Web Page
好东西求分享啊
级别: 新手上路
UID: 165162
可可豆: 19 CB
威望: 13 点
在线时间: 17(时)
发自: Web Page
遇到同样的问题,请问楼主解决了吗
级别: 侠客
UID: 82872
可可豆: 315 CB
威望: 268 点
在线时间: 123(时)
发自: Web Page
路过帮顶~~~~~
HELLO WORLD!
级别: 圣骑士
UID: 85365
可可豆: 792 CB
威望: 1320 点
在线时间: 1590(时)
发自: Web Page
回 3楼(zhouyu23668) 的帖子
应该是XCode的问题了。
级别: 新手上路
可可豆: 1 CB
威望: 1 点
在线时间: 19(时)
发自: Web Page
同问题,求怎么解决,楼主
级别: 新手上路
可可豆: 21 CB
威望: 21 点
在线时间: 102(时)
发自: Web Page
看看这篇文章可以解决这个问题。
级别: 新手上路
UID: 457820
可可豆: 15 CB
威望: 11 点
在线时间: 276(时)
发自: Web Page
哈哈  我知道怎么回事了 我困扰了一下午的问题终于解决了字体引起的问题 秘制BUG&&第一种&&是 因为 你plist 文件中字体没有使用 引起的第二种 是 uifont system&&那个方法的字体设置错误
级别: 新手上路
可可豆: 3 CB
威望: 3 点
在线时间: 27(时)
发自: Web Page
回 1楼(a8056488) 的帖子
刚刚回复的内容怎么不见了....再描述一遍吧,我这里的崩溃日志和楼主你的也差不多,crash日志如下 ……(__gnu_cxx::__verbose_terminate_handler()+344) ……(__cxxabiv1::__terminate(void (*)())+4) ……(std::terminate()+24) ……(__cxa_throw+156) ……(operator new(unsigned int)+124) ……(operator new[](unsigned int)+4) ……(cocos2d::FontFreeType::getGlyphBitmapWithOutline(unsigned short, FT_BBox_&)+508) ……(cocos2d::FontFreeType::getGlyphBitmap(unsigned short, long&, long&, cocos2d::Rect&, int&)+784) ……(cocos2d::FontAtlas::prepareLetterDefinitions(std::basic_string&char16_t, std::char_traits&char16_t&, std::allocator&char16_t& & const&)+560) ……(cocos2d::Label::alignText()+192) ……(cocos2d::Label::updateContent()+280) ……(cocos2d::Label::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+152) ……(cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+532) ……(cocos2d::ProtectedNode::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+1064) ……(cocos2d::ui::Widget::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+96) ……(cocos2d::ui::Layout::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+216) ……(cocos2d::ui::Layout::stencilClippingVisit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+1280) ……(cocos2d::ui::Layout::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+160) ……(cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+532) ……(cocos2d::ProtectedNode::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+1064) ……(cocos2d::ui::Widget::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+96) ……(cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+532) ……(cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+532) ……(cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+532) ……(cocos2d::ProtectedNode::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+1064) ……(cocos2d::ui::Widget::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+96) ……(cocos2d::ui::Layout::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+216) ……(cocos2d::Node::visit(cocos2d::Renderer*, cocos2d::Mat4 const&, unsigned int)+532) ……(cocos2d::Scene::render(cocos2d::Renderer*)+496) ……(cocos2d::Director::drawScene()+320) ……(cocos2d::DisplayLinkDirector::mainLoop()+80) ……(Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeRender+28) ……W/InputDispatcher(2356): channel '1e8219fd com.citygamehellokitty.meitu/org.cocos2dx.lua.AppActivity (server)' ~ Consumer closed input channel or an error occurred.&&events=0x9 ……E/InputDispatcher(2356): channel '1e8219fd com.citygamehellokitty.meitu/org.cocos2dx.lua.AppActivity (server)' ~ Channel is unrecoverably broken and will be disposed! ……I/WindowState(2356): WIN DEATH: Window{1e8219fd u0 com.citygamehellokitty.meitu/org.cocos2dx.lua.AppActivity} ……W/InputDispatcher(2356): Attempted to unregister already unregistered input channel '1e8219fd com.citygamehellokitty.meitu/org.cocos2dx.lua.AppActivity (server)' ……W/ActivityManager(2356): Force removing ActivityRecord{31d22baf u0 com.citygamehellokitty.meitu/org.cocos2dx.lua.AppActivity t1769}: app died, no saved state基本上确定肯定是字体的问题但是不知道具体原因是什么因为new[]的时候内存不足导致的crash吗?请问楼主是怎么解决的啊?
Pages: 1/2
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版

我要回帖

更多关于 libextobjc 的文章

 

随机推荐