在团队开发中,SVN冲突是最多见的了,程序异常时查看SVN文件冲突基本上成了本能。 xcode
首先,右键主项目文件即xcodeproj文件,显示包内容,用文本编辑器查看包里的project.pbxproj,查找文件里是否有“<<<<<“ “=======”字符,有的话即表示冲突,删除冲突的地方便可解决。 bash
此种异常通常就是程序没法运行,或是没法提交SVN等。在异常状况下算是小case了。 编辑器
向这种频繁崩溃的状况,直接暴力解决。布局
首先右键主项目文件即xcodeproj文件,显示包内容。找到找到project.xcworkspace文件,右键显示包内容。spa
Snip20160702_3.png指针
删除xcuserdata文件夹,解决。调试
xcuserdata文件夹里保存着当前项目的一些临时信息,不少崩溃实际上是加载失败致使的,删除这个文件夹,Xcode会从新布局加载信息。如此崩溃就解决了。日志
程序在崩溃的时候,xcode常常没有给出准确的堆栈信息,而是定位在了main方法里,这个让人非常头疼,这个能够经过添加一个Exception Breakpoint,选择 All来解决。另外一种是Crash,EXC_BAD_ACCESS ,这个比较头疼,由于Crash的时候,多是比较早以前的某个变量释放了,如今访问时出问题。Console里也没显示什么日志。开Scheme选项选择Edit Scheme而后按图勾上Enable Zombie Objects 和Malloc Stack那两项,记住通常 只有在定位EXC_BAD_ACCESS时候才勾选 。 code
从新跑一下,若是是到Exception Breakpoint处中止了,能够在Console中输入:c(continue)按回车继续跑,直到Crash。看下Console是否是有跟SIGABRT相似的错误信息日志了。若是尚未日志,在Console中输入对象
po $eax
$eax标志出错的地方,适用模拟器,真机用$r0(话说EXC_BAD_ACCESS这种 错误模拟器定位就行),“$eax”是cup的一个寄存器。在一个异常的状况下,这个寄存器将会包含一个异常对象的指针。注意:$eax只会在模拟器里面工做,假如你在设备上调试,你将须要使用”$r0″寄存器。还能够输入好比:
po [$eax name] po [$eax reason]