运行程序时没有错误提示,出现如下信息
项目(702,0x198497310) malloc: stack logs being written into /private/var/mobile/Containers/Data/Application/461E4C49-CF65-49F6-8B76-AF30533D5390/tmp/stack-logs.702.100098000.TableDelete.3JtuAw.index
项目(702,0x198497310) malloc: recording malloc and VM allocation stacks to disk using standard recorder
项目(702,0x198497310) malloc: process 668 no longer exists, stack logs deleted from /private/var/mobile/Containers/Data/Application/461E4C49-CF65-49F6-8B76-AF30533D5390/tmp/stack-logs.668.1000a4000.TableDelete.CtzS13.index
将整个项目的源代码复制到别一个新建的项目中,再运行就没有问题了!
另:
在原来的项目中,使用debug模式启动项目就会出上面的错误,但不以debug模式启动时就能正常启动....
解决方法:
打开edit scheme ,在run模式下 取消Logging下的malloc stack选项即可(注:如果memory management下的enable guard malloc选项,则程序崩溃)
NSZombieEnabled选项打开后,crash时能打印出具体的对象地址;Malloc Stack选项打开后,可以通过命令行打印出程序分配与释放空间的历史。两者相互结合,往往就能发现到底是什么对象被意外释放了。
另附上 xcode EXC_BAD_ACCESS调试
1.进入edit scheme 设置页面
2.在diagnostics面板中enable zombie objects和malloc stack选项
3.把xcode默认的debugger设置为GDB
4.当出现message sent to deallocated instance ***,键入info malloc-history ***5.根据堆栈信息,定位到内存泄露的代码
截图如下:





我猜你是打开了Run菜单下的Enable Guard Malloc的设置
网友评论
yangtuner(13886,0x10f44b3c0) malloc: recording malloc and VM allocation stacks to disk using standard recorder
yangtuner(13886,0x10f44b3c0) malloc: process 13860 no longer exists, stack logs deleted from /tmp/stack-logs.13860.11c832000.yangtuner.1h65uC.index
,模拟器启动时貌似没有运行任何代码,不知道是否是Xcode环境配置问题还是其他原因,导致应用只停留在启动界面,不知道有没有解决办法?真机和9.0以上模拟器都没有任何问题
你试试这样