美文网首页iOS学习专题iOS开发最牛iOS笔记
iOS无侵入检测UIViewController的销毁

iOS无侵入检测UIViewController的销毁

作者: YYSky | 来源:发表于2020-07-01 15:42 被阅读0次

    最原始的方式可能是在 VC 的 dealloc 方法中输出打印页面已经被释放的日志。

    下面介绍一种方式,无侵入性,也不需要编写任何代码,但局限性在于只能Xcode在跑工程时使用。

    只需要执行下面四步,从此一生无忧。

    1. 转到Breakpoint Navigator(菜单视图>导航器>显示Breakpoint Navigator或⌘ - command+ 8)
    image-20200701153203864.png
    1. 单击左下角+,并选择Symbolic Breakpoint
    image-20200701151757145.png
    1. 按照如下设置
    image-20200701151413826.png

    (1)设置Symbol值-[UIViewController dealloc]

    (2)Log Message将消息设置为要打印到控制台的任何内容,将其设置为--- dealloc @(id)[$arg1 description]@

    (3)勾选Automatically continue after evaluating actions选项,因为我们不希望调试器在释放视图控制器时暂停

    1. 配合控制台的过滤功能,非常直观能看到VC是否被释放
    image-20200701151533192.png

    扩展


    其实从上面我们就可以知道,Symbolic Breakpoint是一个非常强大的断点调试功能,只需要我们改变设置Symbol值,我们就可以监测到指定某个方法的调用时机。例如监控视图的销毁,那就设置Symbol值为-[UIView dealloc]。这个方面的使用,特别是在分析crash,涉及到汇编层面时,特别有效。

    相关文章

      网友评论

        本文标题:iOS无侵入检测UIViewController的销毁

        本文链接:https://www.haomeiwen.com/subject/ekxhqktx.html