好久没有写博客了,不过自己在课下倒是积攒了一些,最近打算给大家分享出来。
今天想跟大家说说我们在运行程序的时候,崩溃了应该怎么调试。因为我最近发现好多人都不怎么回调试,也看不懂调试信息。
首先看张图
我相信iOS程序猿对张图一定都很熟悉吧。但是我却发现大多人只是熟悉而已,却不懂得如何运用。这张是程序调用的堆栈图。
下面小编为大家讲讲应该如何去看这张图。
reason告诉我们问题出在哪里了,也就是为什么会崩溃。以这张图为例,也就是试图在下标为1的数组中插入的为空的元素。但是具体是哪个地方出问题了,仅仅通过reason是看不出来的。
要想确定到底是哪里出问题了,亲们需要继续向下看。也许大家看到下面会很头疼,这是什么玩意。别急,挺我慢慢道来,这其实是程序的运行的堆栈图。程序按照从下向上的顺序执行。我们可以看到第四行4,5的后面看到crash,后面就是程序崩溃的函数和在程序中的位置。大家看看并不是很难理解吧!如下图。
但是在真机调试的时候,却不会出现堆栈信息,那怎么找到错误信息的呢?
如图:
我们也有办法解决,在我们团队开发的时候,我们使用的bugly.qq.com网站来收集bug的,它可以手机app安装在客户手上的闪退情况。你们可以用一下,相比其他的bug收集我觉得这个网站比较好用些。