赞
踩
indexing processing file,平日里Xcode打开项目经常会看到的一个加载状态,今天却把我难倒了。经过整整一天的查找解决方法,调试,终于解决了。虽然不是什么高深的问题,却着实浪费了一天,以此谨记!
起因:
很正常的码代码,粘贴复制调整,突然Xcode顶部加载状态栏就出现了indexing processing file的进度条,一直加载中,且代码自动补全,查找定义跳转都不好使了,紧接着等待一会后电脑出现严重卡顿,切换界面都不能,无奈强制重启电脑。开机后,打开项目,依然自动预处理文件indexing processing file卡死。
设备:Mac mini
过程:
起初是等待indexing processing file加载完毕,没想到边卡边等加重启了个把小时都没反应。
然后网上漫天查找indexing processing file卡死的解决方法,有说终端defaults write com.apple.dt.XCode IDEIndexDisable 1再
defaults write com.apple.dt.XCode IDEIndexDisable 0的,也有说进入~/Library/Developer/Xcode/DerivedData 这个文件夹,把里面相关工程的文件夹删掉的。也许他们都对,但确实全部解决方法无效!依然卡。
于是想打开其他项目试试看,没曾想居然其他项目在indexing processing file跑完后可以正常编程了。到这里感觉是自己那个项目的代码哪里出问题了。
然而超卡的Mac mini无数次的重启之后让人都没脾气了,决定回去用MacBook Pro试试。
解决:
MacBook Pro打开项目之后也出现了一直indexing processing file的情况,但Pro毕竟是Pro,并没有卡死,只是Xcode不能自动补全代码和查找定义跳转函数了。
既然觉得不是配置问题而是代码哪里出问题了,那就死马当活马医,碰碰运气,决定用笨办法:猜想大概是哪个文件出问题,然后代码全部注释,然后重启Xcode,再逐行打开调试。
惊人的发现,在解开某块代码之后,Xcode马上出现了indexing processing file的情况,同时监视器内存中有两个进程内存暴涨到10G,如果不是Pro,电脑早就歇菜了。(吃内存祸首:com.apple.dt.SKAgent 和 clong)
在结束了这两个进程之后,完全退出Xcode,单独打开问题文件(如果直接打开项目,Xcode又会自动processing file卡死,都来不及修改代码),修改好问题代码块之后,再打开项目,这一次indexing processing file没有卡死,编译通过。
一点小总结:
出现这个问题起因是复制了一段代码到另一处,本来是需要修改参数才能使用的,在还没修改前,Xcode没有先报红,而是实时预处理文件(indexing processing file),紧接着就卡住。就算command+B编译进度条都走不到头,且无代码自动补全和提示,所以就跑偏了去找什么重置索引的方法。
其实就是复制的错误block代码块没有纠正导致,至于为什么indexing processing file卡死内存暴涨,那就不得而知了,是线程卡住了么。愚蠢而纠结o(╥﹏╥)o
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。