iOS - EXC_BAD_ACCESS 错误排查
来源:互联网 发布:java线程模型包含 编辑:程序博客网 时间:2024/05/04 07:29
程序开发时遇到 EXC_BAD_ACCESS 错误导致 Crash,出现这种错误时一般 Xcode 不会给我们太多的信息来定位错误来源,只是在应用 Delegate 上留下像Thread 1: Program received signal:”EXC_BAD_ACCESS”,让问题无从找起。
尝试解决方法:
Xcode 使用 cmd + shift + <打开 如下界面并且勾选红框中选项
然后运行程序执行操作到Crash位置,此时在控制台中会出现
//ooooo为进程pid,xxxxxx为对象地址2016-06-13 17:15:43.035 test[ooooo:4702304] -[XXXXXX XXXXXX] message sent to deallocated instance xxxxxx
此时打开终端,输入
malloc_history ooooo xxxxxx |grep xxxxxx
Invalid connection: com.apple.coresymbolicationdALLOC 0x7f9b236f42d0-0x7f9b236f468f [size=960]: thread_1139a9000 |start | main | UIApplicationMain | GSEventRunModal | CFRunLoopRunSpecific | __CFRunLoopRun | __CFRunLoopDoSources0 | __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ | _UIApplicationHandleEventQueue | _UIApplicationHandleEventFromQueueEvent | -[UIApplication sendEvent:] | -[UIWindow sendEvent:] | -[UIWindow _sendTouchesForEvent:] | -[UIButton(PPiAwesome) touchesEnded:withEvent:] | -[UIControl touchesEnded:withEvent:] | -[UIControl _sendActionsForEvents:withEvent:] | -[UIApplication sendAction:to:from:forEvent:] | -[XXXXXXXXXXXX XXXXXXX:] | _objc_rootAlloc | class_createInstance | calloc | malloc_zone_calloc
会出现上述信息,这些信息为该对象的全部调用,-[XXXXXXXXXXXX XXXXXXX:]为该对象最后调用的位置,在该方法中可以打印各对象的地址,与最后message sent to deallocated instance xxxxxx 中 xxxxx 的地址进行对比,找出问题所在。
问题解决后,取消上图勾选的选项
0 0
- iOS - EXC_BAD_ACCESS 错误排查
- 如何排查EXC_BAD_ACCESS错误
- 如何排查EXC_BAD_ACCESS错误
- EXC_BAD_ACCESS iOS内存错误
- ios内存错误 exc_bad_access
- 如何排查EXC_BAD_ACCESS错误 及内存增加问题
- ios 错误排查
- iOS内存错误EXC_BAD_ACCESS的解决方法
- iOS内存错误EXC_BAD_ACCESS的解决方法
- iOS内存错误EXC_BAD_ACCESS的解决方法
- HBuilder插件开发IOS遇EXC_BAD_ACCESS错误
- IOS EXC_BAD_ACCESS
- IOS EXC_BAD_ACCESS
- iOS exc_bad_access
- IOS开发(46)之设置 NSZombieEnabled 定位 EXC_BAD_ACCESS 错误
- IOS开发之设置 NSZombieEnable 定位EXC_BAD_ACCESS错误
- IOS开发(46)之设置 NSZombieEnabled 定位 EXC_BAD_ACCESS 错误
- iOS 开发 解决EXC_BAD_ACCESS错误的一种方法--NSZombieEnabled(转)
- 修改定制系统中的用户名
- windows使用curl命令
- ios访问相册,摄像头等权限
- Qt+VLC编写的流媒体播放器
- Maven依赖范围<scope>
- iOS - EXC_BAD_ACCESS 错误排查
- Crypto++编译使用
- 深入java虚拟机(七)--Javac编译与JIT编译
- Android使用腾讯浏览服务X5内核
- Android基于人脸识别的用户注册/登录实现思路
- IOS开源框架SJFramework
- RabbitMQ (四) 路由选择 (Routing)
- Apache跨域配置
- 当键盘挡住输入框时候,可以使的界面自动上移